Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery json解析不起作用_Jquery_Json - Fatal编程技术网

Jquery json解析不起作用

Jquery json解析不起作用,jquery,json,Jquery,Json,我通过ajax调用从我的服务器得到这个响应 var data = [{ "Response": { "ResponseStatus": { "Code": "1", "Description": "Success" }, "TransactionReference": {} } }, { "Response": { "ResponseStatus": {

我通过ajax调用从我的服务器得到这个响应

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)一起呈现;