【问题标题】:jqGrid renders empty tablejqGrid 呈现空表
【发布时间】:2011-10-14 18:30:39
【问题描述】:

我一直在尝试使用 jqGrid 4.1.2 呈现一个表,我能够从服务器端获取 JSON 响应,但我得到的是空表。 这是我的示例 JSON 数据:

{
    "response":{
        "total":2,
        "page":1,
        "rows":[{
                "id":135060,
                "cell":{
                    "id":135060,
                    "name":"12"
                }
            },
            {
                "id":115060,
                "cell":{
                    "id":115060,
                    "name":"12345"
                }
            }
        ]
    },
    "status":"SUCCESS",
    "errors":[]
}

我已经添加了 jqgrid-locale-en.js 文件,所以这应该不是问题。在花了一些时间之后,我觉得它与 jqGrid 期望的 JSON 格式有关,如果这是问题,有人可以告诉我如何配置 jqGrid 以接受上述 JSON 格式。

谢谢!

【问题讨论】:

    标签: javascript jquery json jqgrid


    【解决方案1】:

    对于问题仍然没有解决的情况,这里是解决方案。您应该使用以下jsonReader

    jsonReader : {
        repeatitems : false,
        root: 'response.rows',
        page: 'response.page',
        total: 'response.page',
        records: function (obj) { return obj.response.rows.length; }
    }
    

    然后将读取数据(请参阅the demo)。我想您在 JSON 数据中使用了不正确的 total 属性,并且根本没有设置 records 属性。

    此外,您不应在标准响应中设置错误消息。 HTTP 协议支持status codes。如果您在服务器端检测到错误,则服务器应在 HTTP 标头中设置 error HTTP code。如果 jqGrid 中的数据处理顺序为another way,您应该使用loadError 事件来解码错误消息并为用户显示结果。

    【讨论】:

      【解决方案2】:

      默认情况下,jqGrid 不希望单元格键中的数据包含名称:值对。如果要使用名称:值对,则需要考虑使用 jsonReader 选项并将重复项设置为 false。还要确保每个键的名称与对应的 colModel 名称完全相同。

      没有更多代码很难说。当你问这样的问题时,你应该发布你所有的代码,但是尝试这样的事情以及你设置的任何其他选项......

      $("#id").jqGrid({
          url: "url"
          mtype: "post",
          datatype: "json",
          jsonReader: {
              repeatitems: false,
              root: "response.rows",
              cell: "cell",
              id: "id",
              page: "page",
              total: "total",
              records: "records"
          },  
      });
      

      看起来您没有传回记录键,它是服务器端调用返回的总行数

      【讨论】:

        猜你喜欢
        • 2010-09-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多