ajax呼叫中的504 GATEWAY_TIMEOUT

shi

我有一个ajax调用,在这里我处理大数据,然后在ajax成功时重新加载页面。Ajax的呼叫是

        $.ajax({
            type:'POST',
            cache:false,
            async:false,
            url: 'URL',
            data: "",
            timeout:0,
            beforeSend:function(msgg){   
                $('#loading').show();
            },
            success: function(data){
                if(data == "success")
                {
                    setTimeout(function(){
                        $('#loading').hide();
                        window.location.reload();
                    },5000);
                }
            }
        });

但它得到504 GATEWAY_TIMEOUT,而ajax调用永远不会成功。我需要手动刷新。

加比Dj

建议进行更多短途检查以检查状态/检索数据。

如果无法进行上述操作,则可以选择以下方法:

注意:不建议将此解决方案用于生产环境或高流量情况,请确保在隔离的服务器上执行此操作。

如果使用Apache Web Server 2.4,则该TimeOut伪指令默认设置为60秒。

有关更多详细信息,请参见本文

Web服务器只会保持连接打开60秒,无论 max_execution_time

虽然max_execution_timephp.ini中的设置了php的执行时间,但ApacheTimeOut指令设置了最大连接时间。

例:

  • 如果php max_execution_time为120秒,但超时为30秒-您将收到504错误
  • 如果php max_execution_time是120秒,但是TimeOut是300秒-您的脚本将最多执行120秒,但是您的连接可以保持300秒

如果您未从php设置任何响应代码,则一切正常,PHP返回200,如果发生错误,则返回500。

当您收到意外的HTTP响应代码时,也请密切注意Web服务器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章