【问题标题】:jqGrid local data within ajaxajax中的jqGrid本地数据
【发布时间】:2012-11-06 20:38:30
【问题描述】:

你好stackoverflow国家! 我有这样的障碍。试图传入在 ajax 中检索到的 jqGrid 数组数据,但它不起作用。让我们看一下脚本 =>

$(function(){ // this script works just fine (of course this array and jqGrid initialization script is in the same file)
var arr = [
    {a:"a",b:"b"},
    {a:"c",b:"d"}
];
$("#_tb").jqGrid({
    datatype: "local",
    data: arr,
    colNames: ["ONE","Two"],
    colModel: [
        {name:"a",index:"a",align:"center"},
    {name:"b",index:"b",align:"center"}
    ],
    pager: $("#_pager"),
    height: "auto"
});
});

这是我的问题 =>

$.ajax({
    url: "../info.php",
    type: "get",
    data: {},
    success: function(r){
        $("#_tb").jqGrid({
        datatype: "local",
        data: r,
        colNames: ["ONE","Two"],
        colModel: [
            {name:"a",index:"a",align:"center"},
            {name:"b",index:"b",align:"center"}
        ],
        pager: $("#_pager"),
        height: "auto"
        });
    }
    });

此脚本不起作用,但在 ajax 中成功将数据检索为 json 格式。 这里也是info.php 脚本

// using PDO for connection
foreach($con->query("SELECT * FROM tb") as $row){
    $info[] = array(
        "a" => $row["a"],
        "b" => $row["b"]
    );
}
echo json_encode($info);

PS。在我看来,我的问题与 datatype 相关,但尽管搜索了这样的示例,但我无法下定决心如何解决这个问题。 同样值得注意的是,我希望数据类型为 local ,因为在 jqGrid 中搜索和过滤数据而没有任何 SQL where 语句。 有任何建议我都会很高兴,谢谢:)

【问题讨论】:

  • 如果您想使用您当前的代码,您可能应该添加jQuery.ajax 的附加参数,例如dataType: "json"contentType: "application/json"。如果您将使用错误的参数,success 回调中的r 参数类型可能是string,而不是对象数组。因此可能需要通过调用$.parseJSON(r) 手动将r 转换为对象。
  • @Oleg 感谢您的建议。因此,在第二个示例中,我尝试从服务器检索信息并作为本地添加到 jqGrid 中,如果我将其转换为 yes 是可能的:)?

标签: php javascript jquery ajax jqgrid


【解决方案1】:

抱歉,您发布的代码确实有效:请参阅 the demo:

所以你应该在另一个地方搜索问题。

例如,一个可能的问题是您多次执行代码。您应该创建网格一次,然后通过更改data 参数的值并触发reloadGrid 来更改数据。顺便说一句,您可以直接在 jqGrid 中使用url: "../info.php"。您只需添加相应的jsonReader(参见here)。为了能够使用本地过滤,您只需将loadonce: true 添加到 jqGrid 参数列表中。或者,您可以在每次之前重新创建网格时调用GridUnload 方法(参见the answer 示例)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-07
    • 2011-03-11
    • 2012-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多