【发布时间】:2016-12-14 04:50:59
【问题描述】:
这是一个执行 ajax 调用的函数
function gettrans(callback) {
var xml = $.ajax({
method: 'GET',
url: 'url/?callback=jsonpCallback',
dataType: 'jsonp',
jsonp: !1,
jsonpCallback: "jsonpCallback",
data: { drop_lang: dropjslang,},
success: function (data) {
callback();
},
error: function (data) {
}
});
return xml.responseJSON
}
我想返回xml.responseJSON,但我得到了undefined。
有什么解决办法?
【问题讨论】:
-
如果值本身是异步获取/生成的,则无法同步返回值。
$.ajax调用是异步的,所以gettrans不能同步返回值。你可以返回一个承诺。或者您可以预先调用 ajax 并让成功回调设置您可以使用 gettrans 返回的值/数据,欢迎使用异步编程!
标签: javascript jquery ajax asynchronous