-1
让我们说我有一个虚拟的服务器端代码(ajax_response.php),它看起来是这样的:jquery ajax - 有什么办法可以得到部分响应吗?
<?php
for ($i = 1; $i <= 10; $i++) {
echo $i;
sleep(1);
}
?>
这意味着后10秒它会回应“12345678910”。
我也有以下的jQuery代码:
$.ajax({
type: 'POST',
url: 'ajax_response.php'
}).then(function(results) {
//... success
}, function {
//... execute if error occurs
});
我可以用上面的Ajax获得从ajax_response.php的反应,但问题是,成功的功能(即第一个函数内。然后)只会在ajax_response.php完成执行时(这需要10秒)时被调用。
我想知道我是否可以提高效率。即。只要在php文件中调用echo,我就会立即得到客户端的响应。
如果您可以包含一些示例代码,这将是非常好的。
不,你不能! Websockets或彗星似乎更多你在找什么? – adeneo
或http://stackoverflow.com/questions/333664/simple-long-polling-example-code – mplungjan
你想要一个像Ajax进度条的东西吗?一个简单的(但有点肮脏的)解决方案是让php写入一个文件,并通过ajax(和一个不同的php脚本)轮询该文件,间隔为 – x4rf41