json解析不工作

时间:2014-11-03 20:48:17

标签: jquery json

我通过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回到我身边?知道为什么它循环通过它就好像它是一个字符串?

2 个答案:

答案 0 :(得分:1)

您需要告诉函数数据类型是什么

$.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);
              });
          },
 });

答案 1 :(得分:0)

使用dataType选项为您的查询ajax调用告诉它您期望json响应。

http://api.jquery.com/jquery.ajax/