将jqGrid与Fusion Tables一起使用,如果JSON返回结果它可以正常工作,但如果没有结果,那么因为obj.rows不存在,所以在尝试检查长度时页面会中断。有没有办法优雅地处理这个问题?
jsonReader: {
cell: "",
page: function (obj) { return 1; },
total: function (obj) { return 1; },
records: function (obj) { return obj.rows.length; }
},
未捕获的TypeError:无法读取未定义的属性“长度”
和JSON:
// API callback
jQuery16405104181477800012_1369220882365({
"kind": "fusiontables#sqlresponse",
"columns": [
"id",
"latitude",
"longitude",
"name",
"address_line_1",
"address_line_2",
"address_line_3",
"postcode"
]
}
);
及以下是行的结果示例:
jQuery1640010438381228595972_1369222778703({
"kind": "fusiontables#sqlresponse",
"columns": [
"id",
"latitude",
"longitude",
"name",
"address_line_1",
"address_line_2",
"address_line_3",
"postcode"
],
"rows": [
[
"1132584",
50.55307,
"-4.19639",
"The Road",
"ROAD",
"Town",
"CITY",
"POSTCODE"
],
答案 0 :(得分:0)
我认为您可以将records
功能修改为
records: function (obj) {
return obj.rows != null ? return obj.rows.length : 0;
}
答案 1 :(得分:0)
我有完全相同的问题,
我创建了一个显示jqgrid的div但你必须创建一个表。
我做到了,它奏效了! :)