题意:当 status
为 false
时,alert(data.status)
调用失败,而当 status
为 true
时则不会失败。
问题背景:
I have the following JavaScript code:
"我有以下JavaScript代码:"
alert(data.status);
data
is a JSON object, one of its fields is status
(a Boolean field).
"data 是一个 JSON 对象,其中的一个字段是 status(一个布尔字段)。"
When JSON.stringify(data)
returns:
"当 JSON.stringify(data) 返回时:"
{"result":[{"income":"1000","expense":"2000"}],"errors":{},"status":true}
the code above does output true
, but when JSON.stringify(data)
returns:
"上面的代码确实输出了 true,但当 JSON.stringify(data) 返回时:"
{"result":null,"errors":{"user":"nonexistent user"},"status":false}
the code above breaks - i.e. it does not alert anything, and the rest of my JavaScript code is not executed as well.
"上面的代码出错了——也就是说,它没有弹出任何提示,并且我的其他JavaScript代码也没有执行。"
Any idea why, and/or how to fix/bypass it?
"有什么想法为什么会这样,和/或如何修复或绕过它吗?"
问题解决:
Your error is elsewhere. Try this simple test in Firebug (or some other console):
"你的错误在其他地方。试试在Firebug(或其他控制台)中进行这个简单的测试:"
var data = JSON.parse(
'{"result":null,"errors":{"user":"nonexistent user"},"status":false}')
alert(data.status);
It works fine.
"它工作正常。"