JSON解析不工作
问题描述:
我正在从我的服务器此响应与Ajax调用JSON解析不工作
var data =
[{
"Response": {
"ResponseStatus": {
"Code": "1",
"Description": "Success"
},
"TransactionReference": {}
}
}, {
"Response": {
"ResponseStatus": {
"Code": "1",
"Description": "Success"
},
"TransactionReference": {}
}
}];
Ajax调用:
$.ajax({
"type":"POST",
"url":"'.CHtml::normalizeUrl(array("packaging/calltag")).'",
"data":$("#returnrequestcreationform").serialize(),
"success":function(data){
$.each(data, function (key, val) {
console.log(key + val);
});
},
});
但在日志中,它给了我这个
0[
1{
2"
3R
4e
5s
6p
7o
8n
我试过JSON.parse()和jQuery.parseJSON(),当试图读取这个对象时,它给了我“意外的输入结束”错误。它看起来像一个适当的JSON回到我身边?任何想法为什么它循环它,就像它是一个字符串?
答
你需要告诉该函数的数据类型是
$.ajax({
"type":"POST",
"url":"'.CHtml::normalizeUrl(array("packaging/calltag")).'",
"data":$("#returnrequestcreationform").serialize(),
"dataType": "json",
"success":function(data){
$.each(data, function (key, val) {
console.log(key + val);
});
},
});
+0
这工作。我以为我已经尝试过了,问题最终导致我的回复中有额外的文本,因为视图正在与echo JSON_ENCODE($ res)一起呈现; – Angelo 2014-11-03 21:13:50
我不禁注意到缺少分号。 ('var data = ...') – 0112 2014-11-03 20:51:49
我没有使用该代码,它只是显示正在设置的数据。我正在使用通过chrome中的调试器的步骤,以及数据变量正在设置的是成功函数内[]中的内容 – Angelo 2014-11-03 20:53:23
这对于将代码粘贴到控制台以测试它的人来说更是如此。 – 0112 2014-11-03 20:55:33