jQuery.getJSON 总是返回空对象
jQuery.getJSON always returns empty object
我一直在寻找一种包含 JSON 文件中对象的方法,我找到了几页总结如何使用 $.getJSON(),甚至这里有一些答案,但没有一个有效。有些人建议我这样做:
var json;
$.getJSON("dir/1.json", function(response){
json = response;
});
有些人这样建议:
var json = $.getJSON("dir/1.json");
这些都不起作用。当我尝试调用 json
的属性时,例如 json.title
,它只是给我一个错误,说变量未定义。似乎没有其他人遇到这个问题,那么我做错了什么?
尝试使用这个:
var json = $.getJSON( "dir/1.json" )
.done(function( response ) {
json = response;
console.log( "json variable ready" );
})
.fail(function() {
console.log( "error" );
});
更新
$.getJSON() 返回的响应对象实现了 promise 接口,为其提供了 promise 的所有属性、方法和行为。因此,在返回响应或触发 done 函数之前,json 还没有准备好。
响应被延迟。在读取变量时,响应可能尚未响应。尝试在函数回调中访问变量,在json = response;
之后立即访问
相关文章:
- Javascript:firstChild对象返回undefined
- Javascript对象返回垃圾值
- 从js中的对象返回一个值
- 从Javascript类对象返回函数
- 从具有最高值的对象返回属性
- 为什么我的Date对象返回当前日期
- NodeJS fs.readdr-将回调内部作为对象返回
- Leadfoot会话对象返回promise
- 如何从对象返回可读字符串
- 日期对象和ISO日期对象返回不同的日期
- 使用JavaScript's FormData对象返回整个html
- 节点.js请求对象 - 返回响应正文以供进一步操作
- 使用 Restangular 使用 RESTful API - RESTful API 将数组作为顶级对象返回是否安全
- 带有方法的 Javascript 对象返回“没有方法'我的方法名称'”错误
- 从 Date() 对象返回 dd-mm-yyyyy
- JSON 中的日期对象返回的数据被视为字符串
- Javascript - 如何获取字符串,打印单词,字符,空格,平均单词长度的#并作为对象返回
- 如何从新对象返回值,同时保留其方法
- 如何从对象返回某些键
- 从 Javascript 中的对象返回值