Ajax请求 - 超时错误/警告

时间:2012-08-28 21:39:15

标签: jquery ajax timeout

我有这个功能,大部分时间都可以正常工作,但如果出现不规则的情况,客户端就不会知道为什么加载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>");
                }
                });
            }

2 个答案:

答案 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() {} });