这让我疯狂,我无法获取外部变量获取内部数据
很抱歉,我正在通过电话编写糟糕的格式,如果有人可以帮我解决格式,我很感激
window.getReasons = function(line) {
var $reasons;
$reasons = "";
$.get(window.location.protocol + "//" + window.location.host + "/" + "allLineReasons.js?line=" + line, function(returnData) {
$reasons = returnData.toString();
return console.log("T_T ----->" + returnData.toString());
}, "html");
console.log($reasons);
return $reasons;
};
答案 0 :(得分:3)
最重要的是你要理解的是$.get()
默认是ASYNCHRONOUS。所以发生的事情是,在console.log()
返回其值之前,您return
调用后的get()
和get()
语句正在执行。
您可能会在此处使用when()
方法来处理从get()
window.getReasons = function(line) {
var reasons = '';
$.when(
$.get(window.location.protocol + "//" + window.location.host + "/" + "allLineReasons.js?line=" + line)
).done(function(jqxhr) {
data = jqxhr[0];
reasons = data.toString();
});
console.log(reasons);
return reasons;
}
答案 1 :(得分:1)