平时使用AjaxPro的时候基本上非常easy

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;
}
});

满以为这样就会解决这个问题,可是载入的小图标转啊转啊转,小心脏都不好了!

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

在浏览器里看到,页面载入已经超时了。10s

仅仅能设置超时时间。

$(document).ready(function(){
//设置前提是AjaxPro已经存在,最好是在PageLoad以后再设置
AjaxPro.timeoutPeriod = 100000;
AjaxPro.onTimeout = function(){
alert("哎呀我去。超时了!! ! ");
}
});

到这里问题就攻克了。

05-01 01:56