使用$ .parseJSON时出现“意外的令牌o”

时间:2014-02-12 03:58:09

标签: javascript jquery json

以下ajax调用给出以下结果:

    $.ajax({
        type: "POST",
        url:  //**My full URL goes here**,
        data: {sources: sources},
        dataType: "json",
        success: function(data) {
            alert(data);
            alert(data.length);
            for (var i = 0; i < data.length; i++)
            {
                alert(data[i]);
            }
        }
    });

结果:

data:
[objject object],[objject object],[objject object]

length:
3

in loop:
[objject object]
[objject object]
[objject object]

以及我刚刚添加的以下代码:

var data = $.parseJSON(data);
$.ajax({
    type: "POST",
    url:  //**My full URL goes here**,
    data: {sources: sources},
    dataType: "json",
    success: function(data) {
        var data = $.parseJSON(data);
        alert(data);
        alert(data.length);
        for (var i = 0; i < data.length; i++)
        {
            alert(data[i]);
        }
    }
});

上面的代码给出了以下错误:

  

未捕获的语法错误:意外的令牌o

为什么?难道我做错了什么?我该如何解决?

2 个答案:

答案 0 :(得分:3)

由于您传递datadataType: 'json'已经是已解析的对象,因此无需再次解析它。

再次调试和检查数据的价值,使用console logging代替alert(),例如console.log(data)

答案 1 :(得分:0)

停止使用alert进行调试,改为使用console.log

success: function(data) {
  // in the browser console, you will see the data structure.
  // then do what you want
  console.log(data);
  // ...