【问题标题】:I have a JSON response like this, and I'm having trouble access the value for some reason我有这样的 JSON 响应,但由于某种原因我无法访问该值
【发布时间】:2014-07-15 13:47:28
【问题描述】:
JSON 响应:
{ "success" : "false" }
我认为您访问数据的方式:
if (data.success[0] == "false") {
alert("Login Successful");
}
else {
alert("Login Failed");
}
它将进入 else 条件。
我做错了什么?
【问题讨论】:
标签:
javascript
ajax
arrays
json
【解决方案1】:
你应该访问一个对象而不是一个数组
if (data.success === false)
你的回答应该是
{ "success" : false }
否则你需要与一个字符串进行比较:
if (data.success === "false")
【解决方案2】:
data.success 是字符串而不是数组,因此您不需要[0]。
对于您当前的 JSON 响应,if 语句应为:
if(data.success === 'false') {
...
}
【解决方案3】:
就像这些人说你试图访问的对象不是 array 所以你不需要 [0]
这是在返回 [0] 的 index 处的字母,因此如果您要记录/警告data.success[0],您会得到 " F ",因为它是您返回的字符串中的第一个字母。
更常见的做法是返回布尔值 false
{ "success" : false }
-----------------------^--------^
注意没有“ ”标记
然后又没有“”标记
-----------------------------------v--------v
if (data.success === false) {
alert("Login Successful");
}
else {
alert("Login Failed");
}
【解决方案4】:
"false" 是一个字符串,而不是布尔值。您应该将 data.success 与“false”进行比较
if(data.success=="false") {