Jquery json解析不起作用
我通过ajax调用从我的服务器得到这个响应Jquery json解析不起作用,jquery,json,Jquery,Json,我通过ajax调用从我的服务器得到这个响应 var data = [{ "Response": { "ResponseStatus": { "Code": "1", "Description": "Success" }, "TransactionReference": {} } }, { "Response": { "ResponseStatus": {
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);
});
},
});
在查询ajax调用中使用dataType选项,告诉它您希望得到json响应
我忍不住注意到缺少的分号。(
var data=…
)我没有使用那个代码,它只是显示数据被设置为什么。我正在使用chrome中的逐步调试程序,数据变量的设置是成功函数中[]内的内容,这更适合人们将代码粘贴到控制台中进行测试。JSON.stringify将其转换为带有转义字符的字符串作为引号。不知道我能不能把它转换回去,然后它就可以工作了?对不起,我的错。我把它和您已经在使用的JSON.parse()
搞混了。忽略那个评论,这是有效的。我想我已经试过了,问题是我的响应中有额外的文本,因为一个视图与echo JSON_ENCODE($res)一起呈现;