gpt4 book ai didi

php - 如何在 php 中清除以前的输出和回显

转载 作者:行者123 更新时间:2023-12-02 17:21:55 25 4
gpt4 key购买 nike

ag.php

<?php  
ignore_user_abort(true);
set_time_limit(0);
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
$i=0;
while(1){
echo $i;
$i++;
ob_flush();
flush();

if (connection_aborted()){
break;
}

usleep(1000000);
}

Ajax :

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
console.log(xhttp.readyState+" "+xhttp.status);
if (xhttp.readyState === 3 && xhttp.status ===200) {
console.log(xhttp.responseText+"\n");

}
};
xhttp.open("GET", "ag.php", true);
xhttp.send();

你好,在上面的代码中,我想与 php 建立持久连接,并以 1 秒的间隔在 while block 中回显数据,数据像这样来自浏览器;
0
01
012
0123
...
但我希望将数据回显到浏览器;
0
1
2
3
...
但无法实现,所以我找到了这个 [ How to clear previously echoed items in PHP关于我的问题,但不完全是我想要的。有人知道有什么方法可以清空/删除以前的回显数据吗?是否可以?请帮忙。

最佳答案

使用substr()

var xhttp = new XMLHttpRequest();
var lastResponse = '';
xhttp.onreadystatechange = function() {
//console.log(xhttp.readyState+" "+xhttp.status);
if (xhttp.readyState === 3 && xhttp.status ===200) {

var currentAnswer = xhttp.responseText.substr(lastResponse.length);
lastResponse = xhttp.responseText;
console.log(currentAnswer+"\n");

}
};
xhttp.open("GET", "ag.php", true);
xhttp.send();

关于php - 如何在 php 中清除以前的输出和回显,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42083256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com