Php ajax中的jqGrid本地数据
你好,我的祖国! 我遇到了这样一个难题。试图传入在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
$(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中,如果我将其转换为“是:)?