带有jsonreader的jqgrid在firebug中的userdata响应是未定义的

Posted

技术标签:

【中文标题】带有jsonreader的jqgrid在firebug中的userdata响应是未定义的【英文标题】:Jqgrid with jsonreader the userdata response in firebug is undefined 【发布时间】:2012-03-13 15:28:43 【问题描述】:

我正在尝试访问从服务器发送的用户数据(使用coldfusion),以根据用户的角色过滤编辑或添加图标的显示。 userdata 值的示例是“all”或“add”或“edit”或“view”。

From firebug an example of userdata looks like
,"USERDATA":"all"

jsonreader 是这样的

jsonReader: 
    root: "ROWS", //our data
                page: "PAGE", //current page
                total: "TOTAL", //total pages
                records:"RECORDS", //total records
    userdata: "USERDATA", 
                cell: "", //Not Used
    ar_bill_key: "0",//Will default to first column
    id:"10" 
      ,

我正在尝试查找用户数据,以便弄清楚如何使用它。下面的代码在 firebug 中返回 undefined。我是新手,所以设置不正确。任何意见,将不胜感激。我已经查看并尝试了许多示例,但它还没有工作

loadComplete:jQuery("#List").getGridParam("userdata")

     alert("userdata")

谢谢

【问题讨论】:

【参考方案1】:

你有一些错误。第一个是:参数名称是'userData' 而不是'userdata'。因此,要获取从服务器发送的值,您应该使用

var myData = $("#List").jqGrid('getGridParam', "userData");

下一个错误:loadComplete 是一个回调函数所以代码

loadComplete:jQuery("#List").getGridParam("userdata")

错了。

最后一个错误是:服务器发送的userdata 的值必须是object。所以你应该放置类似的东西

"USERDATA":"status":"all"

改为或

"USERDATA":"status":"all"

如果你使用

jsonReader: 
    ... 
    userdata: "USERDATA",
    ...

然后您可以显示来自loadComplete 的值,如下所示:

loadComplete: function () 
    var myData = $(this).jqGrid('getGridParam', "userData");
    alert(myData.status);

【讨论】:

以上是关于带有jsonreader的jqgrid在firebug中的userdata响应是未定义的的主要内容,如果未能解决你的问题,请参考以下文章

带有 jqGrid 错误消息的警报

如何在 jqGrid 和 jsonReader 中使用主键

jqGrid - 如何配置 jsonreader(与 Jayrock 一起使用)?

Jqgrid排序和“没有记录消息”不起作用

jqGrid的userData的用法!!!

为 jqGrid 使用自定义 JSON 格式