我使用ajax运行一个简单的PHP脚本来回显数字。测试ajax是否会在发生时显示每个echo,或者它是否在显示任何内容之前等待整个脚本完成。
<?php
echo '1';
sleep(5);
echo '2';
sleep(5);
echo '3';
sleep(5);
echo '4';
sleep(5);
echo '5';
?>
这告诉我它在显示数字之前等待整个脚本完成。
我想知道是否有可能在发生时输出每个回声,类似于你在shell中看到它的方式?
答案 0 :(得分:0)
不可能,因为PHP脚本必须运行并在将其提供给AJAX请求之前返回它的输出。
答案 1 :(得分:0)
不可能等待实际结果。但您可以使用websockets
来实现此行为。
例如,您可以使用php库Ratchet或使用javascript
(或其他语言)作为服务器。
答案 2 :(得分:0)
关于如何实现所需的方法,有许多不同的方法,技术和软件。
以下是一个基本而简单的示例:https://github.com/panique/php-long-polling
它基于长轮询技术。
但我建议你在大型项目中使用带有sockJs库的离心机。