使用$ .parseJSON时出现“意外的令牌o”
以下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
这是为什么? 难道我做错了什么? 我该如何解决?
由于您传递的是dataType: 'json'
,因此data
已经是已解析的对象,因此无需再次解析它。
再次调试和检查数据的值,使用控制台日志记录而不是alert()
,如console.log(data)
停止使用alert
进行调试,改为使用console.log
。
success: function(data) { // in the browser console, you will see the data structure. // then do what you want console.log(data); // ...