我正在尝试让jsGrid在项目中工作,但由于无法使其正常工作,因此我遗漏了一些东西。我已经仔细阅读了几次文档。
场景如下:
- 获取子区域列表的 AJAX 调用
- 获取国家列表的 AJAX 调用(每次我单击分页时,都应发出新请求以获得正确的值)
来自控制器部分下的文档:
loadData 是一个返回数据数组或 jQuery 承诺的函数,该函数将使用数据数组解析(当 pageLoading 为 true 而不是 object 时,应返回结构 { data: [items], itemsCount: [total items count] }) . 当 pageLoading 为 true 时,接受过滤器参数,包括当前过滤器选项和分页参数。
因此,我的 PHP 函数按预期以“正确”格式返回数据,这意味着:
{
data: [items],
itemsCount: [total items count]
}
我创建了一个Pastebin,其中包含进行 AJAX 调用时得到的结果(对于国家/地区结果)。我相信数据是现在的。所以,这就是我的代码的样子:
$(function () {
$.ajax({
type: "GET",
url: "/adminconsolejsgrid/subregion"
}).done(function (subregion) {
$("#jsGrid").jsGrid({
height: "70%",
width: "100%",
filtering: true,
sorting: true,
paging: true,
autoload: true,
pageSize: 15,
pageButtonCount: 5,
pageLoading: true,
controller: {
loadData: function (filter) {
return $.ajax({
type: "GET",
url: "/adminconsolejsgrid/countries",
data: filter
});
}
},
fields: [
{name: "country_name", title: "Name", type: "text", width: 100, sorting: true},
{name: "country_abbr", title: "Code", type: "text", width: 5, sorting: true},
{
name: "subregion",
title: "SubRegion",
type: "select",
width: 100,
items: subregion,
valueField: "subregion_id",
textField: "subregion_name"
},
{type: "control"}
]
});
});
});
但仍然不适合我,这意味着我没有在网格上获得任何值。这张照片是我得到的一个例子:
我错过了什么?有什么帮助吗?