// 异步请求导致数据错乱
// 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. ThinkPHP CURD方法盘点:data方法

    data方法也是模型类的连贯操作方法之一,用于设置当前要操作的数据对象的值,可能大家不太习惯用这个方法,今天来讲解下如何用好data方法. 用法 写操作 通常情况下我们都是通过create方法或者赋值 ...

  2. 46 关于Linux的I/O重定向

    I/O重定向是一个过程,这个过程捕捉一个文件.或命令.或程序.或脚本.甚至代码块(code block)的输出,然后把捕捉到的输出,作为输入发送给另外一个文件.或命令.或程序.或脚本. 1.I/O重定 ...

  3. Android多媒体-人脸识别

    1. 相关背景 Google 于2006年8月收购Neven Vision 公司 (该公司拥有 10 多项应用于移动设备领域的图像识别的专利),以此获得了图像识别的技术,并不是常快应用到免费的 Pic ...

  4. Android开发环境中的概念和工具介绍

    最近学习Android开发,以前使用C/C++多一些,现在再补点Java知识,不管是哪种语言,都不过是一种工具而已,真的学起来,大同小异,无谓优劣.学习Android编程肯定是要先从环境搭建开始,无论 ...

  5. 详解Android Handler的使用

    我们进行Android开发时,Handler可以说是使用非常频繁的一个概念,它的用处不言而喻.本文就详细介绍Handler的基本概念和用法. Handler的基本概念         Handler主 ...

  6. Android手机上判断网络运营商

    我们想获取手机的运营商信息.通常都会去调用系统的TelephonyManager类的取数据.但是很多时候可能取不到卡的信息(例如双卡手机和 一些特殊卡),这样就区别不了运营商了.但是有时候我们的需求要 ...

  7. send,recv,sendto,recvfrom

    send函数 int send( SOCKET s,    const char FAR *buf,    int len,    int flags ); 不论是客户还是server应用程序都用se ...

  8. devenv.exe - Assert Failure visual studio 2010

    安装完成devexpress后启动vs提示 devenv.exe - assert failure  第一种在博客园找到的解决方案: 原因是机器上安装了framework 4.5 和4.5中文包,卸载 ...

  9. [置顶] 博客已迁移至ryantang.me

    大家好,感谢大家一直以来的支持,本博客内容已停止更新,新内容将发布到我的新博客,地址是:ryantang.me,欢迎大家继续支持,我会在ryantang.me上发布内容更丰富的文章内容,谢谢! Rya ...

  10. c++下new与delete基础用法

    delete 释放new分配的单个对象指针指向的内存 delete[] 释放new分配的对象数组指针指向的内存那么,按照教科书的理解,我们看下下面的代码: ]; delete a; //方式1 del ...