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

时间:2012-03-13 15:28:44

标签: jqgrid coldfusion user-data jsonreader

我正在尝试访问我从服务器发送的用户数据(使用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 个答案:

答案 0 :(得分:1)

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

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

下一个错误:loadComplete是回调功能所以代码

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

错了。

最后一个错误是:将从服务器发送的userdata的值必须是对象。所以你应该放置像

这样的东西
"USERDATA":{"status":"all"}

代替或

"USERDATA":{"status":"all"}

如果您使用

jsonReader: {
    ... 
    userdata: "USERDATA",
    ...
}

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

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