我需要在成功时更改var state
,但是调试js代码,即使成功,它也根本不会调用成功函数。状态变量仍未定义。我不确定为什么它不会改变。使用firebug查看网络时,响应为{"d": 1}
,这是状态应该具有的值。任何帮助表示赞赏
var state;
$.ajax({
url: "isoServe.asmx/GetStatus",
type: "GET",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
state = msg.d;
},
error: function() {
alert("Error" );
}
});
return state;
答案 0 :(得分:0)
你应该{AJ}呼叫中return
state
:
var state;
$.ajax({
url: "isoServe.asmx/GetStatus",
type: "GET",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
state = msg.d;
return state;
},
error: function() {
alert("Error" );
}
});
在您的情况下,{AJ}响应可能会发出return
语句!正如它所说,异步,你需要等到它得到响应。
您无法直接响应AJAX调用,因为它是异步请求。相反,它可以调用success
回调中的另一个函数,以便触发函数并设置状态。