Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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 ajax文本响应未更改为新文本_Javascript_Ajax - Fatal编程技术网

Javascript ajax文本响应未更改为新文本

Javascript ajax文本响应未更改为新文本,javascript,ajax,Javascript,Ajax,我开始学习Ajax,并遵循在线教程。我必须使用下面的脚本读取文本文件,并用文本文件的内容更改html标题。它首先工作hml页面从“hello world”更改为555 555,这是文本文件的内容。然后我用“世界已经改变”更新了文本文件,但当我点击网页按钮时,仍然会显示旧的55555。 我在另一台电脑上进行了检查,显示了“世界已改变”的内容。所以我想这是一个问题,与资源管理器记住旧的文本。 如何清除此缓存 编辑 我发现清除浏览器历史记录将显示新的文本文件内容。另外,更改大约15分钟的时间长度,新文

我开始学习Ajax,并遵循在线教程。我必须使用下面的脚本读取文本文件,并用文本文件的内容更改html标题。它首先工作hml页面从“hello world”更改为555 555,这是文本文件的内容。然后我用“世界已经改变”更新了文本文件,但当我点击网页按钮时,仍然会显示旧的55555。 我在另一台电脑上进行了检查,显示了“世界已改变”的内容。所以我想这是一个问题,与资源管理器记住旧的文本。 如何清除此缓存

编辑 我发现清除浏览器历史记录将显示新的文本文件内容。另外,更改大约15分钟的时间长度,新文本文件内容将显示,而不会清除浏览器历史记录

 <div id="demo">
     <h2>Hello world</h2>
 </div>

 <button type="button" onclick="loadDoc()">Change Title</button>

 <script type="text/javascript">
     function loadDoc(){
         var xhttp = new XMLHttpRequest();
         xhttp.onreadystatechange = function(){
             if (xhttp.readyState == 4 && xhttp.status == 200){
                 document.getElementById("demo").innerHTML = xhttp.responseText;
             }
         };
         xhttp.open("GET", "hh.txt", true);
         xhttp.send();
     }
 </script>
 </body>

你好,世界
改名
函数loadDoc(){
var xhttp=newXMLHttpRequest();
xhttp.onreadystatechange=函数(){
如果(xhttp.readyState==4&&xhttp.status==200){
document.getElementById(“demo”).innerHTML=xhttp.responseText;
}
};
打开(“GET”,“hh.txt”,true);
xhttp.send();
}

禁用缓存的一个快速修复方法是

xhttp.open("GET", "hh.txt?t=" + Math.random(), true);
您也可以尝试此方法以获得更独特的url

var timestamp = new Date().getTime();

xhttp.open("GET", "hh.txt?t=" + timestamp, true);

一个可能的原因是ajax请求无法工作。如果您正在使用Google Chrome,请打开控制台并检查网络选项卡。您应该会看到请求失败,并给您一个不同于200状态码的代码。它第一次工作时,在另一个控制台上工作。在检查“网络”选项卡时,我获得状态200,因此应考虑到您没有使用相对路径:
hh.txt
。如果你想让它在任何页面上工作,你必须让它相对,就像这样:
/hh.txt
我已经做了你的建议,但我仍然得到了旧的文本文件内容。在其他计算机上,我得到了新的内容。ajax正在读取文件,但web浏览器正在记住旧内容。如果我清除了浏览器数据,那么新的内容就会显示在一个办公室里,一个网络上有三台电脑,一个移动网络上有一台笔记本电脑。所以我可以有一个历史没有被清除,其他的我可以清除历史来证明这就是chrome记忆旧内容的地方