// 异步请求导致数据错乱
// function get_num(){
// $("input[name='monitor']").eq(1).attr('checked',true);
// $("input[name='monitor']").next('label').removeClass("ui-state-active");
// $("input[name='monitor']").eq(1).next('label').addClass("ui-state-active");
// var eq = 0;
// for(var genre_type=1;genre_type<=11;genre_type++){
// $.post(site_url+'/order_cast/get_num/genre_type/'+genre_type,{},function(data){
// $("input[name='monitor']:eq("+eq+")").next('label').find('dfn').text(data);
// eq++;
// });
// }
// } // Deferred也解决不了问题 http://www.cnblogs.com/panmy/p/5651732.html
// function get_num(){
// $("input[name='monitor']").eq(1).attr('checked',true);
// $("input[name='monitor']").next('label').removeClass("ui-state-active");
// $("input[name='monitor']").eq(1).next('label').addClass("ui-state-active");
// var eq = 0;
// for(var genre_type=1;genre_type<=11;genre_type++){
// $.when(request_ajax(genre_type)).done(function(data){
// $("input[name='monitor']:eq("+eq+")").next('label').find('dfn').text(data);
// eq++;
// });
// }
// }
// function request_ajax(genre_type){
// var defer = $.Deferred();
// $.post(site_url+'/order_cast/get_num/genre_type/'+genre_type,{},function(data){
// defer.resolve(data);
// });
// return defer.promise();
// } // 同步 导致浏览器假死
// function get_num(){
// $("input[name='monitor']").eq(1).attr('checked',true);
// $("input[name='monitor']").next('label').removeClass("ui-state-active");
// $("input[name='monitor']").eq(1).next('label').addClass("ui-state-active");
// for(var genre_type=1;genre_type<=11;genre_type++){
// $.ajax({async:false,beforeSend:function(){$('.wait').hide();},type:'get',url:site_url+'/order_cast/get_num/genre_type/'+genre_type,success:function(data){$("input[name='monitor']:eq("+(genre_type-1)+")").next('label').find('dfn').text(data);}});
// }
// } // 异步请求导致数据错乱 request_ajax写一函数
function get_num(){
$("input[name='monitor']").eq(1).attr('checked',true);
$("input[name='monitor']").next('label').removeClass("ui-state-active");
$("input[name='monitor']").eq(1).next('label').addClass("ui-state-active");
for(var genre_type=1;genre_type<=11;genre_type++){
request_ajax(genre_type);
}
}
// complete:function(XHR,TS){XHR=null} // 回收资源,避免ajax请求过多,导致内存溢出
function request_ajax(genre_type){
$.ajax({url:site_url+'/order_cast/get_num/genre_type/'+genre_type,success:function(data){$("input[name='monitor']:eq("+(genre_type-1)+")").next('label').find('dfn').text(data);},complete:function(XHR,TS){XHR=null}});
}

async:false同步请求,浏览器假死的更多相关文章

  1. setTimeout 导致的浏览器假死

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

  2. jQuery Ajax async=>false异步改为同步时,导致浏览器假死的处理方法

    今天做一个需求遇到了这么个情况,就是用户个人中心有个功能,点击按钮,可以刷新用户当前的积分,这个肯定需要使用到ajax的同步请求了,当时喀喀喀三下五除二写玩了,大概代码如下: /** * 异步当前用户 ...

  3. js ajax同步请求造成浏览器假死的问题

    一.问题的起因 今天做一个需求遇到了这么个情况,就是用户个人中心有个功能,点击按钮,可以刷新用户当前的积分,这个肯定需要使用到ajax的同步请求了,当时喀喀喀三下五除二写玩了,大概代码如下: /** ...

  4. jQuery Ajax同步参数导致浏览器假死怎么办

    俗话说不作死就不会死,今天作死了一回,写了一个比较二逼的函数,遇到了同步Ajax引起的UI线程阻塞问题,在此记录一下.   事情起因是这样的,因为页面上有多个相似的异步请求动作,本着提高代码可重用性的 ...

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

    在Web开发的时候经常会遇到浏览器不响应事件进入假死状态,甚至弹出“脚本运行时间过长“的提示框,如果出现这种情况说明你的脚本已经失控了,必须进行优化. 为什么会出现这种情况呢,我们先来看一下浏览器的内 ...

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

    在Web开发的时候经常会遇到浏览器不响应事件进入假死状态,甚至弹出"脚本运行时间过长"的提示框,如果出现这种情况说明你的脚本已经失控了,必须进行优化. 为什么会出现这种情况呢,我们 ...

  7. AjaxPro实现异步调用,解决浏览器假死及超时问题

    平时使用AjaxPro的时候基本上非常easy var msg = UseClass.Method(argument).value; 由于后台响应比較慢,所以加了个"loading" ...

  8. html5 WebWorkers 防止浏览器假死

    在Web开发的时候经常会遇到浏览器不响应事件进入假死状态,甚至弹出“脚本运行时间过长“的提示框,如果出现这种情况说明你的脚本已经失控了. 一个浏览器至少存在三个线程:js引擎线程(处理js).GUI渲 ...

  9. 详细解读XMLHttpRequest(一)同步请求和异步请求

    本文主要参考:MDN XMLHttpRequest 让发送一个HTTP请求变得非常容易.你只需要简单的创建一个请求对象实例,打开一个URL,然后发送这个请求.当传输完毕后,结果的HTTP状态以及返回的 ...

随机推荐

  1. cocos2d-x中本地推送消息

    作者:HU 转载请注明,原文链接:http://www.cnblogs.com/xioapingguo/p/4038277.html  IOS下很简单: 添加一条推送 void PushNotific ...

  2. cocos2dx windows phone平台下CCLabelTTF自己主动换行的实现(2)

    前几天发过一篇文章说怎样实现wp8下的CCLabelTTF怎样自己主动换行,后来发现果如预料的那般.效果非常不好.主要是非等宽字体的情况下看着非常糟心.因此再改动了一版.效果要好非常多了. 详细实现事 ...

  3. iBatis调用存储过程以及MySQL创建存储过程

    首先是MySQL中创建存储过程的SQL -- 列出全部的存储过程 SHOW PROCEDURE STATUS; -- 查看一个已存在的存储过程的创建语句,假设此存储过程不存在,会提示SQL错误(130 ...

  4. QT5中如何自定义窗口部件

    提升法 eg.(定义一个新的QLable部件)1.定义一个类class Label : public base, public QLabel //可以支持多重继承2.在qt creator中打开ui编 ...

  5. 第二次作业第3题_JH

    3.完成小组的“四则运算”项目的需求文档(使用Markdown写文档),尝试同组成员在各自PC上修改同一文档后,如何使用Git命令完成GitHub上的文档的更新,而不产生冲突.并验证GitHub上的文 ...

  6. 巧用Red Gate SQL Compare破解加密了的存储过程和函数

      最近项目中遇到了一个遗留系统的存储过程和函数被加密了,网上找了半天,解决办法倒是有,但需要写一大堆脚本, 怕影响原系统的运行,就说先同步到其他服务器上去破解.没想到,打开Sql Compare一比 ...

  7. angualrjs学习总结二(作用域、控制器、过滤器)

    一:Scope简介 Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带.Scope 是一个对象,有可用的方法和属性.Scope 可应用在视图和控制器上. ...

  8. oracle学习总结5(游标、触发器、过程、方法)

    1:捕获plsql抛出的异常 declarev_ename emp.ename%type;beginselect ename into v_ename from emp where empno=10; ...

  9. 关于Struts2中的值栈与OGNL表达式

    1.1.1    OGNL概述: Object Graphic Navigation Language(对象图导航语言)的缩写 * EL     :OGNL比EL功能强大很多倍. 它是一个开源项目. ...

  10. 分布式算法(一致性Hash算法)

    一.分布式算法 在做服务器负载均衡时候可供选择的负载均衡的算法有很多,包括: 轮循算法(Round Robin).哈希算法(HASH).最少连接算法(Least Connection).响应速度算法( ...