点击按钮,在发出请求前页面有个loading效果,即显示一张“正在加载”的gif图片。

js是单线程的,执行同步ajax的时候会导致线程阻塞,不能加载loading图片。所以不能使用同步请求。

所有的同步都是可以使用异步替代的。但是怎么替代改动代码最少或者改动不大呢?

我使用下面的方式:$.when().done();

$.Deferred();

1、主线程代码

 $('.btn').click(function() {$('.loadingicon').show();$.when(getData()).done(function(data) {$('.loadingicon').hide();alert(data);});});

2、被调用ajax函数

 function getData() {var defer = $.Deferred();$.ajax({url : '',async : true, // true异步。false同步success : function(data) {defer.resolve(data)}});return defer.promise();} 

二、when带参数传递给done

$.when(getDatas(),$.Deferred().resolve(param1),$.Deferred().resolve(param2)).done(function(data,param1,param2) {console.log(data)console.log(param1)console.log(param2)});function getDatas(){$.ajax({            url : 'xx.php',      success : function(data) {          $.Deferred().resolve(data);}});
}

ajax同步导致浏览器假死相关推荐

  1. js样式会影响ajax,js ajax同步请求造成浏览器假死的问题

    今天写了一个简单的loading效果,希望在点击加载按钮后会出现loading字样,然后执行ajax同步请求,加载完之后loading样式消失,本来是很简单的需求,结果遇上了很尴尬的问题~ 问题:当我 ...

  2. setTimeout 导致的浏览器假死

    setTimeout 导致的浏览器假死 问题   前几天,同事遇到一个浏览器假死的问题.就是浏览器在响应一个请求的时候,就突然不响应时间,进入假死状态,Cup也飙升到100%. 但是这个问题只出现在I ...

  3. 转:优化js脚本设计,防止浏览器假死

    原链接打不开了,复制一份保存: 在Web开发的时候经常会遇到浏览器不响应事件进入假死状态,甚至弹出"脚本运行时间过长"的提示框,如果出现这种情况说明你的脚本已经失控了,必须进行优化 ...

  4. java移动文件导致tomcat死掉_原 netty导致tomcat假死

    一.系统需求: 保证后台系统在大并发下正常处理每一个业务连接请求. 二.运作方式: Netty+tomcat.在tomcat的web.xml配置文件中配置一个Listener类用来在tomcat初始化 ...

  5. mysql 导致iis 假死_解决IIS无响应假死状态

    1 查看服务器iis的w3wp.exe对应的应用程序池 在IIS6下,经常出现w3wp的内存占用不能及时释放,从而导致服务器响应速度很慢. 今天研究了一下,可以做以下配置: 1.在IIS中对每个网站进 ...

  6. Tomcat9.0.13 Bug引发的java.io.IOException:(打开的文件过多 Too many open files)导致服务假死...

    问题背景: 笔者所在的项目组最近把生产环境Tomcat迁移到Linux,算是顺利运行了一段时间,最近一个低概率密度的(too many open files)问题导致服务假死并停止响应客户端客户端请求 ...

  7. 计算机出现假桌面怎么解决办法,apphangxprocb1,小编告诉你apphangxprocb1导致桌面假死解决方法...

    我们现在对电脑的使用已经是越来的越普遍了,但在我们使用电脑的过程中也难免会遇到电脑出现故障的情况,其中就有win10出现apphangb1导致桌面假死的情况,要是出现这个情况的话apphangb1问题 ...

  8. Java线上问题排障:Linux内核bug引发JVM死锁导致线程假死

    Java本质上还是离不开操作系统,一来Java源码是用C/C++实现的,二来java进程还是需要依附于操作系统和硬件资源,有时候一些问题是操作系统级别导致的,下面的整个事件是源自一则真实的线上案例. ...

  9. ajax同步导致ajax上面的代码不执行?

    js代码: 环境:IE11 要求:点击一个按钮后,页面xxx的地方立即显示"开始处理...",直到ajax处理结束后,xxx内容才更新为新的处理结果: 点击事件执行代码如下: xx ...

  10. 优化js设计,防止浏览器假死(转)

    http://www.nowamagic.net/librarys/veda/detail/787 在Web开发的时候经常会遇到浏览器不响应事件进入假死状态,甚至弹出"脚本运行时间过长&qu ...

最新文章

  1. Java基础18(类加载、反射和动态代理)
  2. 超越95%面试者的秘籍 part 1
  3. python---内置模块
  4. pandas读取Excel文件
  5. 在ASP.NET中使用ObjectDataSource数据控件和GridView显示数据(2)
  6. JS获取鼠标的坐标和滚动条的位置
  7. codeforces 711A A. Bus to Udayland(水题)
  8. android访问局域网电脑,如何设置电脑使安卓手机能访问局域网共享的文件
  9. tapestry5中文教程 实例demo
  10. 生产订单管理系统软件哪家好?
  11. 读后感--《魔鬼数学:大数据时代,数学思维的力量》
  12. 电脑和开发板如何串口连接
  13. 服务器有什么类型?应用功能是什么
  14. m3u8视频格式下载并转换为mp4(ffmpeg)
  15. 智能体agent和多智能体系统(MAS)
  16. 《第一行代码》作者郭霖大神安卓问题解答
  17. 读书百客:《浣溪沙·谁念西风独自凉》赏析
  18. C语言关于指针知识点总结【2】
  19. 计算机bips,bips是指计算机的什么
  20. java学习第109天,p665-676(05/07),12集干的漂亮

热门文章

  1. 什么叫智能服务器sn,一篇文章告诉你何为服务器端车牌智能识别
  2. win10用户账户控制怎么设置白名单
  3. 适合学计算机用的机械键盘,一款好用的机械键盘应该怎么选?看完这篇就明白了...
  4. 区块链及相关密码学技术
  5. 008-2018-09-12 文件操作
  6. bzoj1864 [Zjoi2006]三色二叉树
  7. 微信内网页分享,分享者能看到分享的图片(描述),但被分享者无法看到
  8. 获取当周和上周的周一、周日时间
  9. CF1149BThree Religions
  10. 【绝知此事要躬行】线性表之数组OJ