Jquery 显示async=false的ajax调用的等待屏幕
我有一些使用async=false进行Ajax调用的功能。我正在使用以下代码Jquery 显示async=false的ajax调用的等待屏幕,jquery,ajax,asynchronous,Jquery,Ajax,Asynchronous,我有一些使用async=false进行Ajax调用的功能。我正在使用以下代码 $(document).ajaxSend(function (event, request, settings) { $("#__smoke_screen").show(); }); $(document).ajaxComplete(function (event, request, settings) { $("#__smoke_sc
$(document).ajaxSend(function (event, request, settings) {
$("#__smoke_screen").show();
});
$(document).ajaxComplete(function (event, request, settings) {
$("#__smoke_screen").hide();
});
显示等待屏幕,但不适用于同步呼叫。是否有任何方法可以显示任何类型的同步呼叫等待消息
PS:我无法设置为async=true
感谢您,JavaScript是单线程的,这意味着当控制线程执行诸如等待(例如等待Ajax响应)之类的操作时,不会发生其他任何事情。这包括重新绘制和更新屏幕。最好在进行Ajax调用之前打开一个对话框,等待对话框显示(通过某种回调事件),然后进行同步Ajax调用。当调用返回时,处理该对话框。但是,在Ajax调用等待期间,屏幕将不会重新绘制,也不会响应任何用户交互。同步Ajax调用必须非常快,或者完全避免 如果同步Ajax调用需要时间,那么设计中很可能存在错误 另请参见以下相关问答: