Javascript 如何在不刷新php的情况下打开、读取、关闭、更新、重新打开和读取文件
我正在尝试使用html和php制作一个聊天应用程序 我正在写一个包含整个聊天内容的.txt文件,希望每五秒钟阅读一次,而不刷新我的页面。我尝试在javascript中使用循环,但它在再次打开文件后不会刷新文件Javascript 如何在不刷新php的情况下打开、读取、关闭、更新、重新打开和读取文件,javascript,php,html,Javascript,Php,Html,我正在尝试使用html和php制作一个聊天应用程序 我正在写一个包含整个聊天内容的.txt文件,希望每五秒钟阅读一次,而不刷新我的页面。我尝试在javascript中使用循环,但它在再次打开文件后不会刷新文件 function readChat(){ clearArea(); <?php if ($file = fopen("chat.txt", "r")) { while(!feof($file)) { $
function readChat(){
clearArea();
<?php
if ($file = fopen("chat.txt", "r")) {
while(!feof($file)) {
$line = trim(fgets($file));
if($line !== " "){
$arr = explode(":", $line, 2);
$name = $arr[0];
$string = $arr[1];
$string = str_replace(array("\r", "\n"), '', $string);
if($name === $_COOKIE["username"] && $string !== "" && $string !== " " && $string !== "\n"){
echo "selfMessage(\"".$string."\");";
}else if($line !== "" && $line !== " " && $line !== "\n" && $string !== "" && $string !== " " && $string !== "\n"){
echo "otherMessage(\"".$string."\", \"".$name."\");";
}
}
}
fclose($file);
}
?>
}
window.setInterval(function() {
readChat();
}, 5000);
函数readChat(){
净空面积();
}
setInterval(函数(){
readChat();
}, 5000);
这就是我到目前为止所尝试的。您遇到的问题是由于混合了PHP和Javascript代码 首先,您应该知道PHP代码在服务器上执行,该服务器生成将发送到客户端(web浏览器)的页面内容。然后,web浏览器执行它接收的页面内容中包含的Javascript代码 你能看到为什么聊天没有更新吗 当请求页面时,PHP函数只执行一次,并将聊天消息插入
readChat()
函数的主体中。当浏览器接收到包含readChat()
的网页数据时,它只会看到聊天信息,就好像它们是硬编码到函数中一样
例如,以下PHP脚本:
函数someJSFunc(){
我认为您需要Ajax来调用另一个php脚本。该php脚本只是打开一个读或打开并写入(您需要的),您可以异步调用它。对此进行检查。问题是我不理解如何使用JQuere或Ajax。@kevwpl我更新了这个答案,以便更好地解释如何使用JQuery和发出Ajax请求。
function someJSFunc() {
var now = '6/4/2019 16:39:18';
console.log(now);
}