以下是我的 JavaScript。如何使变量 success
成为全局变量,以便 ajax->success 中所做的更改反射(reflect)在外部?
function foo() {
var success = false;
$.ajax({
type: "POST",
url: "",
dataType: "xml",
success: function(xml) {
var code = parseInt($(xml).find("Response").attr("code"), 10);
switch (code) {
case 1:
success = false;
break;
case 0:
success = true;
break;
}
}
});
return success;
}
最佳答案
传递成功
中调用的回调函数:
function makeCall(callback) {
$.ajax({
type: "POST",
url: "",
dataType: "xml",
success: function(xml) {
var code = parseInt($(xml).find("Response").attr("code"), 10);
callback(!code);
}
});
}
makeCall(function (success) {
alert(success);
});
这就是异步编程/请求的工作方式。当然,另一种方法是使其成为同步请求,但这有点达不到目的。
我压缩了 switch
内容,因为您似乎想要 0
和 1
的相反 bool 值。
关于javascript - 访问javascript全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16579243/