等待AJAX​​响应的x秒,否则继续

时间:2015-12-10 10:50:46

标签: jquery ajax

我有一个jQuery Ajax片段,用于调用CHAT功能,但是我只想等待,比如2秒,之后我将显示为response分配的输出。可用不等于1 ,对于Ajax响应,如何使用settimeout函数来实现这一目标?以下是我的代码:

jQuery.ajax({
            type: 'POST',
            url: AWC_CHAT_User.AjaxUrl,
            dataType: 'json',
            success: function (response) {
                  $("#chatSpinnerSection").hide();
                    if (response.available == '1') {
                        $("#chatAgentSection").show();
                        displayChatFlyOver(false);

                    } else {
                        $("#chatGeneralSection").show();
                        displayChatFlyOver(true);
                    }
                },
           error: function (XMLHttpRequest, textStatus, errorThrown) {
                    $("#chatGeneralSection").show();
                }
            });

1 个答案:

答案 0 :(得分:4)

根据documentation,您可以使用timeout属性:

$.ajax({
    timeout: 2000 // 2 seconds  
    /* Other settings */
});

如果你的请求在2秒后没有完成,那么它将进入error处理程序,第二个参数等于timeout

$.ajax({
    timeout: 2000
})
.fail(function(xhr, status, error) {
    if (status === 'timeout') 
    {
        // Timeout
    }
});