下午好。
我有以下代码,它在提交时将数据发送到一个PHP文件,该文件查询多个网络节点的健康状态。问题是这些任务需要大约40秒才能完成,并且在这段时间内没有输出。我尝试使用ob_flush和flush。没有效果,尽管我在代码的php部分有。我仍然看到正在加载的消息,并在准备好后获得完整的打印输出。然而,flush
和ob_flush
通常在我的服务器上工作(作为独立脚本测试),所以这不是问题所在。
根据我的理解,这就是jQuery/ajax调用,它在输出打印输出之前等待代码完全执行。我浏览了论坛,但找不到任何适用的解决方案,因为当我使用"POST“时,大多数都与"GET”请求有关。
有人能给我指出正确的方向吗?有没有办法在PHP仍在处理请求时接收打印输出?
JS代码
$(document).ready(function(){
$('#userForm3g').on('submit', function(e){
e.preventDefault();
e.stopImmediatePropagation();
$('#response').html("<b>Loading data...</b>");
$.ajax({
type: 'POST',
url: 'myphpfile.php',
data: $(this).serialize()
})
.done(function(data){
$('#response').html(data);
})
.fail(function() {
alert( "Posting failed." );
});
return false;
});
});
谢谢!
发布于 2018-08-16 06:40:20
https://stackoverflow.com/questions/51867043
复制相似问题