此代码停止 mousemove 事件
$.ajaxSetup({async:false});
$.get(url).success(function(data) { result = data; });
有没有办法避免这种情况,但保留 $.ajaxSetup({async:false});,就像加载函数一样?
谢谢
补充:
如果我需要怎么办
$.ajaxSetup({async:false});
$.get(url).success(function(data) { result = data; });
$.ajaxSetup({async:true});
return result
如何处理?
谢谢
最佳答案
return
意味着同步代码流。然而,AJAX 是异步的,没有 async: false
。这并不意味着您应该使用async: false
。相反,您应该更改代码流以使用回调而不是返回值。
这是必需的,因为无法使异步代码同步(即您不能将 return
与异步函数一起使用)。唯一的方法是自己也提供回调:
function get(url, callback) {
$.get(url).success(function(data) { callback(data); });
}
喜欢:
get("...", function(result) {
// use `result` which you normally got by assigning the return value
// of `get` to a variable
});
关于jquery - $.ajaxSetup({异步:false}); stops mousemove event,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8929065/