Zoo*_*der 4 javascript ajax json response
我在我的项目中使用纯 JavaScript。如何获取以下示例的类别值?我需要检测它返回的是真还是假。
{
"category": "true"
}
Run Code Online (Sandbox Code Playgroud)
我可以获得整个对象,但我只想提取类别的值。
来自评论...
JSON 数据是根据表单提交从服务器返回的。它一直说 myObject 未定义。我如何传递这个以便我的 JavaScript 可以读取响应?
来自评论...
我可以使用 this: 获取 myObject
if (form.XHR.status === 200) {var data = form.XHR.response;},但如果我尝试data.myObject这样做,就会显示它未定义。
小智 5
您需要先解析 JSON,然后才能将其作为对象访问......
if (form.XHR.status === 200) {
var data = form.XHR.response;
var parsed = JSON.parse(data);
alert(parsed.category);
}
Run Code Online (Sandbox Code Playgroud)
为什么需要这个?这是因为JSON 不是 JavaScript。这两个术语不是同义词。
JSON 是一种文本数据交换格式。它需要被解析成任何语言的数据结构。在您的例子中,语言是 JavaScript,因此您需要将其解析为 JavaScript 数据。
当从 xhr 响应接收到它时,它是以 JavaScript 处理所有文本数据的形式接收的。那就是作为一个string. 作为字符串,您无法直接访问所表示的值。
JavaScript 有一个内置的解析器,称为JSON.parse. 这在上面的示例中用于进行必要的转换。
一些较旧的浏览器不支持JSON.parse. 如果您支持这些浏览器,则可以在http://json.org找到 JavaScript 解析器。
| 归档时间: |
|
| 查看次数: |
56421 次 |
| 最近记录: |