栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在浏览器中的同步ajax调用期间显示等待消息

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在浏览器中的同步ajax调用期间显示等待消息

您的问题是您使用的是同步AJAX调用,并且在浏览器完成之前几乎将其锁定。尤其是,在您按下

$.ajax({async:false})
锁定键之前,浏览器将无法显示您的“正在加载”消息;例如,观察它的作用:

http://jsfiddle.net/ambiguous/xAdk5/

注意,在运行AJAX时,按钮甚至还没有恢复为未单击的可视状态?

解决方案是显示加载消息,将控制权交还给浏览器,然后通过同步远程调用锁定所有内容。一种方法是使用

setTimeout
零延迟:

$('#_info').html(myInfo);$('#_info').show();setTimeout(function() {    $.ajax('save', {        async: false,        type: 'POST',        complete: function() {          $('#_info').hide();        }    });}, 0);

例如:http :
//jsfiddle.net/ambiguous/zLnED/

当然,需要注意一些事情,因为回调

this
内部与
setTimeout
外部不会完全相同,但是很容易处理。

但是,使用对用户

async:false
来说并不是一件好事,除非绝对必要(很少如此),否则应避免使用它。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/427396.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号