无法在 JavaScript 中检索 JSON 值
can't retrieve json value in javascript
我从get返回了以下消息:
{"status":"success"}
我的代码如下所示:
$.get(url, function(result) {
console.log(result)
console.log(result['status'])
console.log(result.status)
return false;
});
这将打印以下内容:
{"status":"success"}
undefined
undefined
我做错了什么?
如果你
的console.log
显示"{"status":"success"}"
,这意味着你的JSON没有被解析。 你需要告诉jQuery为你做这件事:
$.get(url, function(result) {
console.log(result);
console.log(result['status']);
console.log(result.status);
}, 'json');
或者,更好的是:
$.getJSON(url, function(result) {
console.log(result);
console.log(result['status']);
console.log(result.status);
});
必须指定要接收 JSON 数据。这是jQuery.get
函数中的另一个参数
$.get(url, function(result) {
console.log(result)
console.log(result['status'])
console.log(result.status)
return false;
}, 'json'); // <---- HERE
否则,您的result
将被视为字符串。
您的 JSON 可能没有提供正确的 HTTP 标头将其标识为 JSON(您可以在浏览器开发工具的"网络"选项卡中检查标头),它可能没有被解析。尝试
console.log(JSON.parse(result)['status'])
或将datatype
设置为 "json"
。
如果管理服务器,则应修复标头。
大概是:你正在为JSON提供错误的Content-Type
头,所以jQuery没有通过JSON解析器传递它。
确保 URL 在标头中返回Content-Type: application/json
。
相关文章:
- 可以't使用Angular解析/检索JSON
- 在AngularJS中使用$http.get检索JSON时出现错误400
- 在 ajax 成功和循环 json 数组时检索 json 数组
- 检索JSON数据并使用AJAX在表中显示
- gmaps4rails:如何从控制器中检索json值
- 在不知道名称的情况下检索json元素
- JSon挑战:如何在JqxGrid中检索JSon编码的值
- AngularJS基于日期检索JSON记录
- Angular JS:根据 id 检索 json 数据
- 仅使用该值检索 JSON 密钥
- 无法在 JavaScript 中检索 JSON 值
- 使用 Ember Data 检索 json 文件
- jQuery ajax 无法检索 json
- 如何从PHP文件中检索JSON数据
- 使用 jquery ajax 跨域检索 json 数据
- 从 youtube 网址检索 JSON
- 如何使用 JavaScript 检索 JSON 对象数组值
- JQuery AJAX-如何从URL检索JSON数据
- 使用 .getJSON 从 php 文件中检索 JSON 数据
- 正在检索Json字符串的一部分