javascript - 为什么 parseJSON 在服务器的以下响应中失败?

标签 javascript jquery json

在我的 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/

相关文章:

javascript - 如何使用 javascript 从输入字段读取表单选择字段?

javascript - 将顶部位置设置为可拖动父项内的可拖动子项

jquery 'remove class' - 尝试删除具有特定类的所有元素

javascript - 调用ajax调用localhost时出现Access-Control-Allow-Origin错误

json - 如何使用 JSON 而不是 CSV 执行这个 d3.js 魔术(分组条形图)?

php - Jquery Ui 自动完成标签的重复结果

预编译为纯 JavaScript 的 JavaScript 模板语言

javascript - 显示数据从不同点开始的两个折线图

Javascript 正则表达式回溯失败

json - 服务器端排序的数据在数据表中未按相同顺序显示