Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS未响应更新的txt文件_Javascript_Php_Html - Fatal编程技术网

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中的值
  • 然后,此更改将由后台循环读取并打印
  • 发生了什么:

  • 后台循环持续读取并打印文件(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();