错误504网关超时ajax jquery

时间:2015-11-06 20:08:34

标签: jquery ajax timeout

jQuery.ajax返回以下错误

  

504 - 错误 - 网关超时

request = $.ajax({
    url: Raiz + "/informes/Inventario/pdfInventarioAlmacenValorado.php", 
    type: "POST", 
    data: data, 
    timeout: (600 * 1000), 
    success: function(resp) {
        SalidaReporte = resp;
    }, 
    error: function(jX, err, errT) {
        alert(jX.status + "\n" + err + "\n" + errT);
    }
});
可能是由于问题? PHP不是问题。 Web服务器可能存在一些导致此错误的限制?在我的本地服务器上它不会失败。谢谢!

1 个答案:

答案 0 :(得分:0)

我找到了一个#david-hoerster发布的工作解决方案

如果您的错误事件处理程序在发生超时时采用三个参数(XMLHttpRequest,textstatus和message),则状态arg将为“超时”

$.ajax({
    url: "/ajax_json_echo/",
    type: "GET",
    dataType: "json",
    timeout: 1000,
    success: function(response) { alert(response); },
    error: function(xmlhttprequest, textstatus, message) {
        if(textstatus==="timeout") {
            alert("got timeout");
        } else {
            alert(textstatus);
        }
    }
});​

使用jsFiddle,您可以测试ajax调用-等待2秒钟后才能响应。我将超时设置为1秒,因此它应该出错,并将'timeout'的文本状态传递回错误处理程序。