jqGrid是空的

时间:2016-01-02 20:13:45

标签: php jquery json jqgrid

我正在构建一个小应用程序。我有一个PHP代码,里面有一个jqGrid的创建,我还有一个servlet,它发送一个带有JSON的数组的字符串

字符串如下所示:

[
    {"id":1,"firstName":"Amishay","lastName":"Vaturi"},
    {"id":2,"firstName":"Amir","lastName":"Bilu"},
    {"id":3,"firstName":"Michael","lastName":"Keidar"},
    {"id":4,"firstName":"Mika","lastName":"Spivak"},
    {"id":5,"firstName":"Ksenia","lastName":"Mosorov"},
    {"id":6,"firstName":"Rose","lastName":"Wahlem"}
]

问题是我在网格中看不到它... 网格代码是这样的:

$("#jqGrid").jqGrid({
    url: 'http://10.0.0.4:8080/api/students/all',
    mtype: "GET",
    datatype: "jsonstring",
    colModel: [
 { label: 'ID', name: 'id', key: true, width: 75 , height: 50 },
 { label: 'First Name', name: 'firstName', width: 150 , height: 50},
 { label: 'Last Name', name: 'lastName', width: 150 , height: 50}
    ],
    viewrecords: true,
    width: 780,
    height: 250,
    rowNum: 20,
    pager: "#jqGridPager"
});

我在这里和整个网络中寻找答案。 我看到我可能需要从服务器发送不同的json。也许有更多的信息,如记录,页数等。我也看到我可能需要在jqGrid属性中声明一个json阅读器。 我做了两件事......仍然没有奏效。这就像我没有找到一个100%满足我的问题的解决方案。 我很乐意得到一个有效的答案(:

非常感谢!

1 个答案:

答案 0 :(得分:0)

代码中的错误是使用datatype: "jsonstring"而不是

datatype: "json"

顺便说一下,您不需要创建隐藏列id,因为jqGrid会将id属性的值分配给行的id属性<tr>元件)。此外,我建议您使用loadonce: true选项,因为您使用的数据格式并不意味着服务器端分页。

我创建了演示https://jsfiddle.net/OlegKi/oc7uuh9q/,它使用您的数据来证明一切都应该有效。我刚刚修改了你的代码,以便使用free jqGrid中实现的新功能,这是我开发的jqGrid的分支。