我有这个功能,大部分时间都可以正常工作,但如果出现不规则的情况,客户端就不会知道为什么加载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>");
}
});
}
答案 0 :(得分:2)
请在此处检查超时参数
http://api.jquery.com/jQuery.ajax/
演示:http://jsfiddle.net/u3f9C/183/
如果您将超时更改为1000,您将看到错误。现在它应该显示超时,因为超时值非常低,甚至在它尝试连接到url之前就会超时。
答案 1 :(得分:0)
您可以设置错误回调,如下所示:
$.ajax({}).error(function(){ // remove spinner or do something else });
请参阅:http://api.jquery.com/jQuery.ajax/
或者按照上述要求的风格:
$.ajax({error: function() {}, success: function() {} });