首页 > 代码库 > AjaxPro实现异步调用,解决浏览器假死及超时问题

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

平时使用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;
	}
});

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

技术分享

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

仅仅能设置超时时间。

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

"); } });


到这里问题就攻克了。

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