加载json数据到javascript全局变量
load json data to javascript global variable
var locations = [];
$.getJSON("locations.json", function(json) {
console.log(json);
json.forEach(function(locItem){
locations.push(locItem);
});
});
console.log(locations);
第3行日志确实打印了我的json列表,但第9行日志只给出[]。我尝试使用窗口。位置,全球。或者定义像
这样的东西var self = this;
在全局作用域中,然后使用self。函数内部的位置。
这是因为执行顺序如下:
// create empty array
var locations = [];
// attempt to get json file (locations is unchanged)
$.getJSON("locations.json", callback);
// print out empty locations variable
console.log(locations);
// json is finally retrieved, and the callback function is processed
function callback(json) {
console.log(json);
json.forEach(function(locItem){
locations.push(locItem);
});
});
回调函数不会被调用,直到json被检索到。它不会等待发生
尝试:
var locations = [];
$.getJSON("locations.json", function(json) {
console.log(json);
json.forEach(function(locItem){
locations.push(locItem);
});
}).then(function() {
console.log(locations);
});
相关文章:
- 没有通过ajax调用设置Javascript全局变量
- Javascript全局变量简单解决方案
- 用作标志的Javascript全局变量
- Javascript全局变量问题
- 函数内部的JavaScript全局变量定义
- Selenium Web驱动程序访问Jquery中的Javascript全局变量
- Javascript全局变量在mouseup上总是未定义的
- Javascript全局变量存储在哪个对象中
- nodejs中的Javascript全局变量和属性-全局属性有时会被删除
- Javascript:全局变量转到“窗口”或“全局”,但全局函数不会.全球 FN 去哪儿了
- JavaScript 全局变量声明
- 与javascript全局变量范围和更新混淆
- 通过 Excel VBA 引用 Acrobat Javascript 全局变量所需的语法是什么?
- Javascript - 全局变量和全局范围内的变量是否不同(在 jsfiddle 中)
- Javascript 全局变量命名冲突
- Javascript:全局变量=坏
- Javascript 全局变量在回调函数之外不会保持不变
- javascript 全局变量不能存储值,如果它意味着从 HTML 元素中提取它们
- 创建/访问在 AJAX 调用中创建的 Javascript 全局变量
- 拼接上的Javascript全局变量作用域/覆盖