无法使用jqgrid加载json数据,尽管jsonstring工作正常

时间:2011-09-23 19:29:53

标签: php jquery json jqgrid

我有一个jqgrid,我想用我的json填充,但我无法让它工作。我认为我的json很好,因为在将json作为字符串提供时,网格正在工作(数据类型:jsonstring)。问题是,我没有从jqgrid得到任何错误,这使得调试变得困难。

这是我的json(用jslint验证):

{ "total":"1", "page":"1", "records":"5", "rows": [ {"id" :"1", "cell" :["Modulex", "", "", "", ""]}, {"id" :"2", "cell" :["Lemoltech", "", "", "", ""]}, {"id" :"3", "cell" :["Isothermic", "", "", "", ""]}, {"id" :"4", "cell" :["Renova", "", "", "", ""]}, {"id" :"5", "cell" :["Natart Juvenile", "", "", "", ""]} ] }

这是我的配置

$("#list").jqGrid({
    url:'/tempajax/',
    datatype: 'json',
    colNames:['Nom','Adresse','Ville','Tel','Courriel'],
    colModel :[ 
      {name:'company_name', index:'company_name', width:55}, 
      {name:'address', index:'address', width:90},
      {name:'city', index:'city', width:90},
      {name:'telephone', index:'telephone', width:80}, 
      {name:'email', index:'email', width:80}, 
    ],
    autowidth: true,
    pager: '#pager',
    rowNum:10,
    viewrecords: true,
    gridview: true,
    height: '100%'
});

这是我在这里发表的第一篇文章,所以我希望能够提供足够的信息给你们帮助,如果不是问的话。

非常感谢你的帮助!

2 个答案:

答案 0 :(得分:1)

您的JSON结果与您正在配置要使用的jqGrid的内容不匹配。

你的jqGrid期望一个JSON结果,其中包含company_name,地址,城市,电话和电子邮件作为字段,但是你的数据带回了id和cell,即使这样,它也嵌套在顶部json结果中,该结果有总数,页面,记录和行。无论哪种方式,它都没有与你的jqGrid对齐。

答案 1 :(得分:1)

我解决了我的问题,json完全没问题。即使输出很好,服务器也会抛出404代码。这阻止了jqGrid甚至解析json。我希望这对其他人也有帮助!