使用JavaScript / jQuery& amp; Faux Timeout触发器AJAX

时间:2009-10-12 12:46:01

标签: javascript jquery ajax timeout

在jQuery.ajax中,我们祝福设置超时(以毫秒为单位)和错误回调来处理该超时。

然而,有些人只是在缓慢的连接上,只有少量的耐心。我想要做的只是显示一条消息,说明“这比平时花费的时间更长”。

jQuery中的Timeout争论不会满足这个要求,而setTimeout()也完全相同。如何通过简单的时间检查实现这一目标?

1 个答案:

答案 0 :(得分:0)

好的,这很简单。

我需要做的就是设置一个独立的Timout,里面有一个函数来显示我需要的任何消息。

你也可以在很长的时间内保持超时/错误回调。

var timeout = true;

timeout = setTimeout(function() {
    if (timeout) {
        $("#zendesk-dropbox-error").html("Contacting the Helpdesk is taking longer than usual, try submitting manually?");
    }
}, 9000);


// Call for a JSON return from the PHP script
$.ajax({ type: 'GET', url: http://www.example.com, dataType: 'json', cache: false, data: ({ a: 'b' }), timeout: 60000, 
    success: function(zendesk){
        timeout = false;
        // Code
    },error: function(objAJAXRequest, strError) {
        // Code
    }
});