我有 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);
}
}
});
Run Code Online (Sandbox Code Playgroud)
但它得到 504 GATEWAY_TIMEOUT 并且 ajax 调用永远不会成功。我需要手动刷新。
建议进行更多短调用来检查状态/检索数据。
如果上述方法无法实现,则可以采用以下替代方案:
注意:不建议将此解决方案用于生产使用或高流量场景,请确保此操作在隔离服务器上执行。
如果使用 Apache Web Server 2.4,则该TimeOut指令默认设置为 60 秒。
有关更多详细信息,请参阅这篇文章。
Web 服务器只会保持连接打开 60 秒,无论max_execution_time
php.ini中max_execution_time的 php.ini 设置了 php 的执行时间,而 ApacheTimeOut指令则设置了最大连接时间。
例子:
如果您没有从 php 设置任何响应代码,如果一切正常,PHP 将返回 200,如果发生错误,则返回 500。
当您收到意外的 HTTP 响应代码时,最好也留意 Web 服务器。
| 归档时间: |
|
| 查看次数: |
25584 次 |
| 最近记录: |