AjaxPro实现异步调用,解决浏览器假死及超时问题
平时使用AjaxPro的时候基本上很简单
var msg = UseClass.Method(argument).value;
因为后台响应比较慢,所以加了个“loading”,然后后面调用AjaxPro
//加载Loading $("#load").show(); //Ajax var msg = UseClass.Method(argument).value; //隐藏加载 <pre name="code" class="javascript">$("#load").hide();
结果,在整个表现上,并不是自己想要的结果。这个时候,并不会出现loading。
网上查了一下,这样是AjaxPro的同步调用方式,而且AjaxPro也确实提供了异步方式。
//加载Loading $("#load").show(); //Ajax UseClass.Method(argument,function(data){ if(data.error != null){ //隐藏加载 $("#load").hide(); var msg = data.value; } });
满以为这样就会解决问题,但是加载的小图标转啊转啊转,小心脏都不好了!!
在浏览器里看到,页面加载已经超时了。10s
只能设置超时时间。
$(document).ready(function(){ //设置前提是AjaxPro已经存在,最好是在PageLoad以后再设置 AjaxPro.timeoutPeriod = 100000; AjaxPro.onTimeout = function(){ alert("哎呀我去,超时了!!!"); } });
到这里问题就解决了。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。