在我的 Firebug 中,我看到服务器响应:
{"status":"Results Found","errorcode":"0","result":[{"name":"test","id":"1"},{"name":"some","id":"2"}]}
When I do the following I get a "o is null" error.
$.ajax({
type: "get",
url: "http://someurl",
data: $("#eventsearch").serialize(),
dataType: 'json',
success: function(msg){
var o = $.parseJSON(msg); //o is NULL error
}
然而,当我在同一个字符串上执行 parseURL 但不是作为服务器响应时,一切都很好。这是怎么回事?
var t = '{"status":"Results Found","errorcode":"0","result":[{"name":"test","id":"1"},{"name":"some","id":"2"}]}';
var o = $.parseJSON(t); //everything is good here
最佳答案
当你设置 dataType:json
时,json 已经被解析了,你不需要这样做
var o = $.parseJSON(msg);
你可以做到
console.log(msg.result[0].name);
关于javascript - 为什么 parseJSON 在服务器的以下响应中失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7303606/