我正在尝试使用jQuery,AJAX和JSON开发Web应用程序。 我有这段代码:
console.log(response.s);
if (response.s == true) {
alert('good');
} else {
alert('bad');
}
此response
(在Firebug上通过console.log()
)似乎是:
{"s":true}
这似乎是一个JSON对象吗?
好吧,我在这里添加的第一个代码的行console.log(response.s);
返回undefined
。有什么问题?
答案 0 :(得分:7)
什么是typeof (response)
?如果它是一个字符串,那么你必须先解析它。 (您将访问不存在的字符串的s
字段,因此JavaScript会为您提供undefined
,而不是抛出异常或其他内容。)
答案 1 :(得分:1)
如果响应的content-type
不是application/json
,那么javascript可能假设它只是一个字符串。
因此,提供正确的内容标题应该可以解决您的问题。
或者,您可以使用eval()
将字符串转换为json对象。
答案 2 :(得分:1)
尝试使用:
var obj = jQuery.parseJSON(response);
console.log(obj.s);
希望它有所帮助。