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

Posted claireyuancy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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实现异步调用,解决浏览器假死及超时问题的主要内容,如果未能解决你的问题,请参考以下文章

接口超时需要怎么处理

C#异步调用,界面假死

Ajax同步请求浏览器假死问题

编写轻量ajax组件02-AjaxPro浅析

Tomcat假死的原因及解决方案

eclipse 僵死/假死 问题排查及解决