ajax异步模式下实现等待loading(jQuery同步Ajax带来的UI线程阻塞问题及解决办法)
来源:互联网 发布:长沙软件行业 编辑:程序博客网 时间:2024/05/16 01:35
在与后台实现数据交互时经常会遇到一种这样的情况:
1.需要用一个ajax请求后台数据,并且要在获取到数据之后再渲染到页面,这个时候就必须用同步(async:false)。
2.然而在这个时候就会有另一种情况,当ajax的请求花费的时间比较长的时候需要一个loading层来显示等待状态
3.这个时候beforeSend是没有效果的,即使把loading的代码写在ajax之前也不行。
4.原因就是ajax的async设置为false时浏览器的渲染(UI)线程和js线程是互斥的,在执行js耗时操作时,页面渲染会被阻塞掉。当我们执行异步ajax的时候没有问题,但当设置为同步请求时,其他的动作(ajax函数后面的代码,还有渲染线程)都会停止下来。即使我的DOM操作语句是在发起请求的前一句,这个同步请求也会“迅速”将UI线程阻塞,不给它执行的时间。这就是代码失效的原因。
5.解决方法(注意:是在异步下实现的):如图
相关链接:http://www.cnblogs.com/lvdabao/p/3744030.html
http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html
0 0
- ajax异步模式下实现等待loading(jQuery同步Ajax带来的UI线程阻塞问题及解决办法)
- jQuery同步Ajax带来的UI线程阻塞问题及解决办法
- jQuery同步Ajax带来的UI线程阻塞问题及解决办法
- 0顶 jQuery同步Ajax带来的UI线程阻塞问题及...
- jQuery同步Ajax带来的UI线程阻塞问题及解决方法
- Jquery ajax异步请求带来的问题及解决方案
- ajax同步阻塞loading
- 异步模式下的Ajax的同步问题
- Ajax异步请求阻塞情况的解决办法
- ajax的同步 异步 jquery同步
- jquery ajax 同步异步
- jquery,ajax,同步异步
- jQuery:AJAX知识点及async同步异步的区别
- jquery ajax请求同步与异步问题
- 关于JQUERY里的AJAX缓存和同步异步问题
- jquery中使用ajax的同步异步问题
- ajax回调函数执行顺序带来的同步异步问题
- ajax回调函数执行顺序带来的同步异步问题
- ubantu16.04菜单栏变换位置
- 良好的代码习惯(四)
- 图形
- StringUtils学习笔记
- 队列组
- ajax异步模式下实现等待loading(jQuery同步Ajax带来的UI线程阻塞问题及解决办法)
- 加载properties文件工具类
- Android中Java和JavaScript交互代码示例3以及常见问题
- Unity3d中物体的的碰撞检测
- 老树新芽,在ES6下使用Express
- 微信公众号支付出错: 当前页面的URL未注册: get_brand_wcpay_request:fail
- 什么是好的算法?
- ViewGroup中添加view
- 常见字符串类型题