我有一个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调用永远不会成功。我需要手动刷新。
建议进行更多短途检查以检查状态/检索数据。
如果无法进行上述操作,则可以选择以下方法:
注意:不建议将此解决方案用于生产环境或高流量情况,请确保在隔离的服务器上执行此操作。
如果使用Apache Web Server 2.4,则该TimeOut
伪指令默认设置为60秒。
有关更多详细信息,请参见本文。
Web服务器只会保持连接打开60秒,无论 max_execution_time
虽然max_execution_time
php.ini中的设置了php的执行时间,但ApacheTimeOut
指令设置了最大连接时间。
例:
如果您未从php设置任何响应代码,则一切正常,PHP返回200,如果发生错误,则返回500。
当您收到意外的HTTP响应代码时,也请密切注意Web服务器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句