Проблема с сервером API точно.
Поддерживает ли ваш API-вызов POST? Потому что согласно документам jtable.
Если вы определили listAction как строку URL, то, когда вы используете метод загрузки, jTable создает AJAX POST для этого адреса URL, чтобы получить список записей
Также убедитесь, что ответ JSON должен соответствовать структуре.
{
"Result": "OK",
"Records": [
{
"prevExperience": 2,
"employeeName": "Douglas Adams",
"employeeManager": "Simon",
"employeeAddress": "Washigton"
}
]
}
Если вы хотите сделать вызов GET
, listAction
должно быть function
вместоstring
actions: {
listAction: function () {
console.log("Loading from custom function...");
return $.Deferred(function ($dfd) {
$.ajax({
url: "https://localhost:44328/api/employee-information/",
type: 'GET',
dataType: 'json',
success: function (data) {
console.log("Success");
$dfd.resolve(data);
},
error: function () {
console.log("Error");
$dfd.reject();
}
});
});
}
}
В вашем случае выходной JSON имеет структуру {result: "OK", records: []}
. Вам нужно преобразовать его в {Result: "OK", Records: []}
для работы jtable. Это можно сделать с помощью обработчика успешных вызовов ajax, как показано ниже.
actions: {
listAction: function (postData, jtParams) {
return $.Deferred(function ($dfd) {
$.ajax({
url: 'https://localhost:44328/api/employee-information?' + jtParams.jtStartIndex + '&jtPageSize=' + jtParams.jtPageSize + '&jtSorting=' + jtParams.jtSorting,
type: 'GET',
dataType: 'json',
success: function (data) {
$dfd.resolve({ Records: data.records, Result: data.result, TotalRecordCount: data.totalRecordCount });
},
error: function () {
$dfd.reject();
}
});
});
}
}
Кодовая ссылка с вашим кодом.
https://codepen.io/nithinthampi/pen/zYYwgLq
Пустой сервер с GET
.
https://RoundPungentProject.nithinthampi.repl.co