1

我有这个功能,它在大多数情况下都可以正常工作,但是如果发生不规则的事情,客户端将不知道为什么加载 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>");
                }
                });
            }
4

2 回答 2

2

请在此处检查超时参数

http://api.jquery.com/jQuery.ajax/

演示:http: //jsfiddle.net/u3f9C/183/

如果您将超时更改为 1000,您将看到错误。现在它应该显示超时,因为超时值非常低,甚至在它尝试连接到 url 之前它就超时了。

于 2012-08-28T21:41:14.557 回答
0

您可以设置错误回调,如下所示:

$.ajax({}).error(function(){ // remove spinner or do something else });

见:http ://api.jquery.com/jQuery.ajax/

或者按照您上述要求的风格:

$.ajax({error: function() {}, success: function() {} });
于 2012-08-28T21:42:28.063 回答