$.ajax 执行时如何判断网络是否断线?
$.ajax({url:“这里是处理页面地址...”,async:true,type:"post",data:_param,success:function(msg){a...
$.ajax({
url:“这里是处理页面地址...”,
async:true,
type:"post",
data:_param,
success:function(msg){
alert("ajax执行成功:"+msg);
},
error:function(msg){
alert("ajax执行失败:"+msg.message);
}
});
//现在有一个现象就是:当网络突然断线了,在执行此段代码时,不会出现任何提示,请问如何判断当前网络不通畅??? 求解~ 或者用其他办法也可以,只要判断是否断线就好!~ 最好要兼容所有浏览器 !~ 展开
url:“这里是处理页面地址...”,
async:true,
type:"post",
data:_param,
success:function(msg){
alert("ajax执行成功:"+msg);
},
error:function(msg){
alert("ajax执行失败:"+msg.message);
}
});
//现在有一个现象就是:当网络突然断线了,在执行此段代码时,不会出现任何提示,请问如何判断当前网络不通畅??? 求解~ 或者用其他办法也可以,只要判断是否断线就好!~ 最好要兼容所有浏览器 !~ 展开
3个回答
2013-09-09 · 知道合伙人软件行家
关注
展开全部
我觉得上面的回答,理论上可行,但是实际操作时不靠谱
每次请求之前都还要想后台请求一次,开销问题不容小觑
而且实际上,你也不能保证上次请求成功了就代表这次请求时还是保持网络畅通
我的解决方案是设置一个ajax的执行时间
如果网络拥堵或断开时,客户端这头超过了规定时间即提示用户
$.ajax({
url: "xxx",
//1秒后超时
timeout: 1000,
error: function (xmlHttpRequest, error) {
//提示超时或操作失败
}
});
你用的本身就是jquery的框架,只要版本高,就不会出现兼容性问题
追问
你这个办法可以试试!~
展开全部
这个可以换个思路,任何请求之前,执行一个动作:IsNetOk();该动作访问后台,后台获取后,直接返回参数:true,如果规定时间内没有接受到请求,则说明网络有问题。这个时间可以设置为1-3秒
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写原始的ajax方法,里面有status!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询