我正在使用回调选项来获取成功块之外的值(跨域调用)。我在回调函数内部获取值,但不在外部获取值。请看下面的代码。此外,如果该值仅在回调函数内部可用,那么在成功块之外编写代码有什么区别。
var globalVar ;
function callbackClick() {
var jsonData = { "name": "Alex" };
test("http://mydomain:84/AuthService.svc/TestAsyncGet", jsonData, callback);
}
var callback = function (data, textStatus, xhr) {
globalVar = data;
alert(data + "\t" + textStatus); //here I am getting data
}
var test = function (url, jsonData, cb) {
$.support.cors = true;
$.ajax({
url: url,
type: "GET",
data: jsonData,
contentType: "application/json; charset=utf-8",
dataType: "json",
processdata: true,
success: cb,
error: function error(response) {
alert("Network error");
},
complete: function (msg) {
}
});
alert("GLOBAL " + globalVar); //here i am not getting the value
}
还有一个:- 即使我没有使用回调函数,成功块内的代码在 $.ajax 之外的警报语句之前执行,那为什么我没有得到值?
谢谢