Вместо просто «жесткого кодирования» URL-адреса в определении jqGrid, я хочу иметь свою собственную функцию, которая выполняет вызов AJAX.Правильный способ обработки jqGrid ajax call
Я пробовал несколько вариантов, но ни один из них по-настоящему не имитирует сценарий, когда мы напрямую применяем URL.
В принципе, мне нужно сохранить все поведение jqGrid по умолчанию, но быть тем, кто отвечает за выполнение вызова ajax на сервере.
var loadData = function() {
var formData = $('#formFilters').serializeArray();
getData(formData)
.then(function (data) {
$grid
.setGridParam({ "datatype": "jsonstring", "datastr": data })
.trigger("reloadGrid");
resizeGrid();
})
};
И сетка подключен как:
$grid.jqGrid({
datatype: loadData,
colModel: [...]
Основной проблемой здесь является то, что сортировка не будет инициировать вызов Ajax, и я боюсь, что мне нужно, чтобы взломать это немного больше.
Есть ли наилучшая практика в отношении того, как достичь этой развязки между сеткой и функцией передачи данных?
Спасибо, Alex
Не могли бы вы объяснить, что вы подразумеваете под «жестким кодированием» URL-адреса в определении jqGrid и хотите, чтобы вам нужна «ваша собственная функция»? Если вы напишете пример, я покажу, какие параметры jqGrid можно использовать. Вероятно, вам просто нужно использовать опцию 'loadonce: true' в сочетании с' postData'. – Oleg
Привет, Олег, поэтому нормальное использование заключается в использовании свойства url сетки, и вызов ajax будет выполнен внутренне. Дело в том, что в этом proj я не могу напрямую вызвать серверную службу, которая понимает структуру postData jqGrid. Итак, у меня есть моя собственная функция, которая принимает информацию postData и выполняет вызов ajax в том виде, как это понятно серверу. Проблема в том, что, делая это так, как я это делаю, сетка ведет себя как локальные данные. – AlexCode
@ Корре, но вы не указали ни кода, ни точного примера, что вы делаете. jqGrid имеет большую возможность использовать параметры динамического url и делать сериализацию. ** Если вы разместите пример ** того, что вы делаете, я покажу, как преобразовать код в код, который использует 'datatype:« json »и другие параметры, которые полностью настраивают вызов Ajax. – Oleg