【发布时间】:2016-05-20 17:49:25
【问题描述】:
无法完全理解这一点。我正在尝试将来自同步 ajax 调用的数据存储在 var 和控制台日志中,但是,最终控制台日志在同步调用完成之前运行,因此返回 undefined。
代码:
$(document).ready(function() {
var longitude = 51.4543,
latitude = 0.9781,
apiKey = "",
result;
$.ajax({
async: false,
url: "https://api.forecast.io/forecast/" + apiKey + "/" + longitude + "," + latitude,
dataType: "jsonp",
success: function(data) {
result = data;
//working
console.log(result);
},
});
//not working
console.log(result);
});
我的印象是 JS 在继续之前会等待同步调用完成,但我猜不是这样?如果没有,我如何将获取响应存储在全局变量中以供其他地方使用?
【问题讨论】:
-
同步ajax调用已被弃用,使用成功回调做所有逻辑
-
-@OP,你什么都知道...问题是什么?
-
@TomBarton,使用
callback怎么样?
标签: javascript jquery ajax