ajax超时6,jQuery ajax $.get或$.post 实现timeout超时设置的方法

标题取得我真纠结……很高兴你看到这篇文章,因为你不用再去百度翻页了,没错,$.get和$.post没有timeout的选项,解决办法很简单,改成ajax。

别急,开个玩笑而已,而且,这是最简单的方法,只需在complete回调函数里对TextStatus(第二个参数,此处简写为status)做个判断就行,代码如下:$.ajax({

//其他参数已省...

timeout:5000, //超时时间,考虑到网络问题,5秒还是比较合理的

complete:function(XHR,TextStatus){

if(TextStatus=='timeout') //超时啦,干点什么呗

}

});

好吧,其实我们的重点是非ajax形式的方法,在get和post的情况下要怎么实现呢?我这没有一个最好的方法,但有一个最笨的方法,并且用在了Z-Blog的KandyDigg顶踩插件中,我想你也一定考虑过:

setTimeout

你没瞎,就是这玩意,造起来吧:var timeout=setTimeout(function(){

//超时啦,干点什么

},

5000 //超时时间,考虑到网络问题,5秒还是比较合理的

);

$.post(url,function(data){

if(timeout){ //清除定时器

clearTimeout(timeout);

timeout=null;

}

//该干嘛干嘛

});

多烂的代码,希望对你有帮助!如有不妥,恳请评论指出,我一定好好悔改,谢谢!

最后补充一点,据说timeout属性貌似是跟着浏览器来的,每个浏览器的时限都不一样,求考证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值