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

时间:2016-02-10 03:07:26

标签: javascript ajax

我开始学习Ajax并遵循在线教程。我必须遵循读取文本文件的脚本并使用文本文件的内容更改html标题。它的工作原理是hml页面从“hello world”更改为555 555,这是文本文件的内容。然后我用“世界已经改变”更新了文本文件,但是当我点击网页按钮时,我仍然显示旧的555 555。 我检查了另一台计算机,显示“世界已经改变”的内容。所以我想这是探险家记住旧文本的问题。 如何清除此缓存。

EDIT 我发现清除浏览器历史记录将显示新的文本文件内容。同时改变大约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>

1 个答案:

答案 0 :(得分:1)

禁用缓存的一个快速解决方法是

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

您也可以尝试使用此更独特的网址

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

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