我有一些json数据,我通过jquery $.post()
请求从php代码中检索。格式是json。但是当调用回调函数时,我的浏览器不处理数据
$.post(url_send, data_to_send, function(callback_data){
var info = callback_data.info;
console.log(callback_data.info);
...
});
callback_data = {"success":[{"id":some_number}],"info":"some_string"}
要进行调试,我注意到:如果我输入此代码console.log(callback_data);
,我的控制台中会显示正确的json数据,但如果我允许console.log(callback_data.info)
,则控制台会显示'undefined'
。有人可以解释一下吗?
编辑:在我的php中我有$ reply = array('success'=> $ ids,'info'=> $ info); echo json_encode($ reply);
答案 0 :(得分:2)
您的php页面返回的json可能不包含名为“info”的字段。因此,当您尝试callback_data.info
时,由于没有信息,因此未定义。
答案 1 :(得分:2)
callback_data将采用字符串格式,您必须使用eval将其转换为json以将其用作对象..一旦您执行eval,您应该使用callback_data.info这样的
$.post(url_send, data_to_send, function(callback_data){
callback_data = eval('(' + callback_data + ')');
console.log(callback_data.info);
...
});
答案 2 :(得分:0)
该字段是信息,它应该是:callback data.information