我正在创建一个简单的应用程序,用户点击按钮并从数据库返回JSON对象。对象的结构如下所示。但是,无法识别对象并且执行失败。任何想法为什么会发生?
PHP的响应数组传递给js
array(2) (
[success] => (bool) true
[cnt] => array(2) (
[2014-11-28] => array(2) (
[visits] => (string) 1115
[searches] => null
)
[2014-11-29] => array(2) (
[visits] => (string) 493
[searches] => 0
)
)
)
JSON对象
{
"success":true,
"cnt":{
"2014-11-28":{
"visits":"1115",
"searches":null
},
"2014-11-29":{
"visits":"493",
"searches":0
}
}
}
正在解析对象的函数
$.post(JOBK.ajaxurl, data, function (resp) {
if (resp.success) {
// Append rows
$.each(resp.cnt, function (dateCol) {
$.each(dateCol, function (visitsCol, searchesCol) {
// Insert a row in the table at row index 0
var newRow = tableRef.insertRow(tableRef.rows.length);
});
});
}
}, 'json');
});
答案 0 :(得分:0)
首先,您需要返回有效的json字符串
{"success": true, "cnt": {"2014-11-28": {"visits": "1115", "searches": null}, "2014-11-29": {"visits": "493", "searches": 0}}}
另外我认为你不需要第二个循环,只需一个=>
// Append rows
$.each(resp.cnt, function (dateCol, date) {
var visits = dateCol.visits;
var searches = dateCol.visits;
//... do anything with it here
});