我有这个功能,大多数时候都运行得很好,但是如果发生了一些不正常的事情,客户端将不知道为什么加载的gif总是显示出来。
我想知道我是否可以定义一个20秒的超时时间,如果ajax请求不成功,加载gif就会消失,并显示一个类似“连接丢失”或类似的错误:
function ajaxrequest(){
var params = [];
for (var i=0; i < submit.length; i++) {
var ele = submit[i];
params[i] = ele + '=' + $('#' + ele).attr('value');
}
params = params.join('&');
$(".agendarleft").html("<center><img src='skins/{VAL_SKIN}/styleImages/iloading.gif'></center>");
$.ajax({
type: "GET",
url: "ajaxload/como.php",
data: params,
success: function() {
$(".agendarleft").html("<center><div style='height:50px'><h2>Enviado! Seremos breves na resposta.</h2></div></center><br/><img src='../skins/Sandbox_Light/styleImages/after1.jpg'/></center>");
}
});
}发布于 2012-08-29 05:41:15
请在此处检查超时参数
http://api.jquery.com/jQuery.ajax/
演示:http://jsfiddle.net/u3f9C/183/
如果您将超时时间更改为1000,您将看到错误。现在,它应该显示超时,因为超时值非常低,它甚至在尝试连接到url之前就超时了。
发布于 2012-08-29 05:42:28
您可以设置一个错误回调,如下所示:
$.ajax({}).error(function(){ // remove spinner or do something else });请参阅:http://api.jquery.com/jQuery.ajax/
或者使用上面请求的样式:
$.ajax({error: function() {}, success: function() {} });https://stackoverflow.com/questions/12167900
复制相似问题