Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ajax中的jqGrid本地数据_Php_Javascript_Jquery_Ajax_Jqgrid - Fatal编程技术网

Php ajax中的jqGrid本地数据

Php ajax中的jqGrid本地数据,php,javascript,jquery,ajax,jqgrid,Php,Javascript,Jquery,Ajax,Jqgrid,你好,我的祖国! 我遇到了这样一个难题。试图传入在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

你好,我的祖国! 我遇到了这样一个难题。试图传入在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);
注:在我看来,我的问题与数据类型有关,但尽管搜索了这样的示例,我仍然无法决定如何解决这个问题。 另外值得注意的是,我希望数据类型是本地的,因为在jqGrid中搜索和过滤数据时没有任何SQLWHERE语句。
如果有任何建议,我将很高兴,谢谢:)

对不起,但是您发布的代码确实有效:请参阅:

所以你应该在另一个地方寻找问题


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

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