JSON 对象,未定义?
我正在尝试使用 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
。有什么问题吗?
I'm trying to develop a web application using jQuery, AJAX and JSON.
I have this code:
console.log(response.s);
if (response.s == true) {
alert('good');
} else {
alert('bad');
}
This response
(via console.log()
on Firebug) seems to be:
{"s":true}
Which seems to be a JSON object right?
Well, the line console.log(response.s);
on the first code I added here returns undefined
. What's the problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
什么是
typeof(响应)
?如果它是一个字符串,那么你必须首先解析它。 (您将访问一个不存在的字符串的s
字段,因此 JavaScript 会为您提供undefined
而不是抛出异常或其他异常。)What is
typeof (response)
? if it's a string then you have to parse it, first. (You'd be accessing thes
field of a string, which doesn't exist, so JavaScript gives youundefined
instead of throwing an Exception or whatever.)如果响应的
content-type
不是application/json
那么 JavaScript 可能会假设它只是一个字符串。因此,提供正确的内容标题应该可以解决您的问题。
或者,您可以使用
eval()
将字符串转换为 json 对象。If the
content-type
of the response isn'tapplication/json
then the javascript is probably assuming that it is just a string.Supplying the correct content header should therefore sort your problem.
Alternatively you could probably use
eval()
to convert the string into a json object.尝试使用:
希望有帮助。
try to use:
Hope it helps.