Javascript JS未响应更新的txt文件
目标:Javascript JS未响应更新的txt文件,javascript,php,html,Javascript,Php,Html,目标: 后台循环将持续读取和打印文件(word.txt) 按下其中一个按钮将覆盖word.txt中的值 然后,此更改将由后台循环读取并打印 发生了什么: 后台循环持续读取并打印文件(word.txt) 按下其中一个按钮将覆盖word.txt中的值 但是3.在我转到另一个浏览器中的“word.txt”文件并刷新页面之前,这个更改不会反映在JS中。一旦完成,JS就会开始识别它 有什么想法吗?很抱歉,代码段无法正常工作,因为它在中包含php var instanse=false; var状态; va
word.txt中的值
word.txt中的值
但是3.在我转到另一个浏览器中的“word.txt”文件并刷新页面之前,这个更改不会反映在JS中。一旦完成,JS就会开始识别它
php
var instanse=false;
var状态;
var mes;
var文件;
log('update.js loaded');
函数triggerUpdate(){
log('update.js已触发');
updateChat();
}
//背景循环
函数updateChat(){
var文件='word.txt';
var rawFile=new XMLHttpRequest();
打开(“获取”,文件,错误);
rawFile.onreadystatechange=函数()
{
if(rawFile.readyState==4)
{
if(rawFile.status==200 | | rawFile.status==0)
{
var allText=rawFile.responseText;
console.log(allText);
}
}
}
rawFile.send(空);
setTimeout(updateChat,1500);
}
随机字发生器
浏览器正在缓存XMLHttpRequest
调用的初始结果。最简单的解决方法是通过在url中添加一个随机数作为参数来欺骗缓存。在查找文件时,文件系统将忽略它
您可以添加任何所需的查询变量(“v”很流行,有点代表版本)
有很多方法可以获得随机数,但使用Unix时间戳-
-在这种情况下,这是一个简单的方法
将代码更改为:
var file = 'word.txt';
致:
这将创建对如下url的调用:
word.txt?v=1519211809934
您没有提到nodeJS作为标记?@MisterJojo-它不是节点。只需客户端JS和服务器php。听起来您的浏览器可能正在缓存,因为使用新的可以工作。尝试向文件中添加一个随机数-例如var file='word.txt?v='+Date.now()代码>@cyberwombat-非常有效,谢谢!:D编辑:没关系,我在谷歌上搜索过?v=我得记住这个!酷。作为较长的答案添加。
var file = 'word.txt?v=' + Date.now();