JSON对象,undefined?
问题描述:
我想开发一个使用jQuery,AJAX和JSON的Web应用程序。 我有这样的代码:JSON对象,undefined?
console.log(response.s);
if (response.s == true) {
alert('good');
} else {
alert('bad');
}
这response
(通过console.log()
上萤火虫)似乎是:
{"s":true}
这似乎是一个JSON对象吧? 那么,我在这里添加的第一个代码行console.log(response.s);
返回undefined
。有什么问题?
答
什么是typeof (response)
?如果它是一个字符串,那么你必须首先解析它。 (你会访问一个字符串,它不存在的s
领域,使JavaScript的给你undefined
,而不是抛出一个异常或者其他的。)
答
如果响应的content-type
不application/json
那么的JavaScript可能假设它只是一个字符串。
因此,提供正确的内容标题应该排序您的问题。
另外,你也可以使用eval()
将字符串转换成json对象。
答
尝试使用:
var obj = jQuery.parseJSON(response);
console.log(obj.s);
希望它能帮助。
您可以在Firebug控制台中单击{“s”:true}对象并在对象(DOM)资源管理器中看到它,或者它是否在Firebug控制台中以字符串的形式写入(即不可点击)? – Nikhil 2011-03-18 15:09:31
@Nikhil,我想它更像一个字符串。 – Shoe 2011-03-18 15:10:28