Автоматически отменяющий запрос jqgrid
Я знаю об этом ответе:Как добавить кнопку отмены в мой jqgrid?, и я'Я пытаюсь реализовать нечто подобное, хотя и без кнопки, чтобы вызвать отмену. Iv»я получил сетку, которая загружается при загрузке страницы (поиск, который по умолчанию загружается без критериев), и я 'Я хотел бы иметь возможность отменить поиск пустых критериев по умолчанию, когда пользователь фактически выполняет поиск с критериями. Так как я немне не нужна кнопкаЯ пытаюсь упростить решение, просто отслеживая запрос xhr в методе loadBeforeSend и прерывая этот xhr, если он не равен нулю, когда я загружаю сетку. Код:
var gridXhr;
function getGridData() {
var searchParms = ...;
var colHeaders = [...];
var colDefinitions = [...];
if (gridXhr != null) {
alert(gridXhr.readyState);
gridXhr.abort();
gridXhr = null;
}
$('#grid').jqGrid('GridUnload');
$('#grid').jqGrid({
defaults: {...},
autowidth:true,
url: "/ExecuteSearch",
mtype: 'POST',
ajaxGridOptions: { contentType: "application/json" },
postData: searchParms,
datatype: "json",
prmNames: {
nd: null,
rows: null,
page: null,
sort: null,
order: null
},
jsonReader: {
root: function (obj) { return obj.d; },
page: function (obj) { return 1; },
total: function (obj) { return (obj.d.length / 20); },
records: function (obj) { return obj.d.length; },
id: 'CatalogID',
cell: '',
repeatitems: false
},
loadonce: true,
colNames: colHeaders,
colModel: colDefinitions,
caption: "Search Results",
pager: 'searchPaging',
viewrecords: true,
loadBeforeSend: function (xhr) {
gridXhr = xhr;
},
loadError: function (xhr, status, error) {
gridXhr = null;
if (error != 'abort') {
alert("Load Error:" + status + "\n" + error);
}
},
loadComplete: function() {
gridXhr = null;
},
multiselect: ,
multiboxonly: true
}).setGridWidth(popWidth);
}
Проблема яу меня есть то, что последующие казни jqGrid нет работа. Функция loadError сработала с ошибкой (3-й параметр)прервать «. Нужно ли делать что-то еще / другое с loadBeforeSend, как это было сделано в другом ответе?
Также Олег упомянул в своем примере кодаmyGrid[0].endReq();
и я не могу найти упоминания об этом в документации - существует ли эта функция?