0

我对 jquery ajax 回调有一个奇怪的情况

var isOk = false;

 CheckStoreAvailability(store, function (result) {
            isOk = result;
             alert(result);  >> show message true    
});

alert(isOk );

无论CheckStoreAvailability 中的返回值分配给 isOk 什么,它总是显示false !

我现在被困住了。请帮助我。

谢谢。

4

2 回答 2

1

您的second警报被执行beforeCheckStoreAvailability由于异步调用而被调用。这就是您没有获得更新值的原因。

检查this post中的答案如何使用函数调用done(),您可以相应地更改您的调用。

于 2012-12-17T11:17:52.540 回答
1

AJAX 是异步的,因此该alert(isOk);行将在 AJAX 调用完成之前执行,并且通过扩展,在 AJAX 请求回调函数更改值之前执行。

如果您想使用该值,请在处理来自 AJAX 调用的响应的函数中执行此操作。

于 2012-12-17T11:18:15.580 回答