【问题标题】:JQuery easyui datagrid ajax json data rendering issueJQuery easyui datagrid ajax json数据渲染问题
【发布时间】:2013-10-31 16:53:53
【问题描述】:

我知道datagrid默认的json字符串格式是这样的:

{'total':100,'rows':[{id:'1',name:'Jason'},{id:'2',name:'Liam'}]};  

但是我们的供应商更改了他们产品的 API,这使得返回的字符串变成了这样:

{"pager":{"recordCount":100},'list':[{id:'1',name:'Jason'},{id:'2',name:'Liam'}]};  

'因为格式被改变了,所以datagrid插件不能正常工作了,我试过让他们改回来,但由于某些原因他们不能这样做,唯一的方法是用datagrid做一些改变插件。

我看到方法列表中有一个名为'loader'的方法,但我不确定它是否有帮助,有人可以给我一个建议或建议吗?

谢谢。

这里是数据网格参考链接:http://www.jeasyui.com/documentation/index.php#

【问题讨论】:

  • 我尝试使用您所说的导致问题的格式解析 json,但这不是问题。您能发布更多代码并让我们知道您的 jquery 版本吗?

标签: jquery json jquery-easyui


【解决方案1】:

您只需编写一个简单的转换器函数即可将新的 JSON 恢复为旧方式:

function convertJSON(data) {
    //console.log(data);
    var newJSON = {};
    newJSON["total"] = data.pager.recordCount;
    newJSON['rows'] = [];

    for (var i = 0; i < data.list.length; i++) {
        newJSON['rows'][i] = data.list[i];
    }

    return newJSON;
}

演示:http://jsfiddle.net/7q3kx/

【讨论】:

  • 问题是我不知道在哪里截取JSON字符串,那个插件提出了一个Loader函数,但是我找不到一个例子来解释这个过程。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-02
相关资源
最近更新 更多