ajax 读取 xml 文件,如果 xml 文件更改,则永远不会更新

问题描述

我需要阅读 xml 文件。如果 xml 文件更改,我需要查看 index.html 页面中的更改,而无需重新加载整个页面

我的代码似乎只能在我的本地计算机上运行。

如果我在互联网上(在 Linux 主机上)上传代码,index.html 会读取 xml 文件,但是,如果 xml 文件发生更改,index.html 页面永远不会显示任何更新。

我注意到以下两点:

xml 文件更改后(来自另一个更新 xml 文件的外部脚本),index.html 不会更新,

  • 如果我用 mozilla firefox 打开“index.html”并按 F5 重新加载 index.html 页面,它会重新加载该页面,但从不更新数据(仍然从 xml 文件中读取旧数据)。

  • 如果我用 mozilla firefox 打开“data.xml”并按 F5,这将强制更新“index.html”。

当然,以上两个都不是解决方案,因为它必须在没有用户干预的情况下自动工作,当然也无需重新加载整个页面

任何帮助表示赞赏。谢谢。

这是我的代码

"index.html"

<!DOCTYPE html>
<html>
<head><Meta charset="utf-8"></head>
<body>
<div id="f1"></div><br>
<script>
function foo() {
    console.log("foo");
    var xmlhttp;
    xmlhttp = new XMLHttpRequest();
    xmlhttp.open("GET","data.xml",false);
    xmlhttp.send();
    var xmlDoc = xmlhttp.responseXML;
    var f1 = xmlDoc.getElementsByTagName("f1")[0].childNodes[0].nodeValue;
    document.getElementById("f1").innerHTML = f1;
}
function onload() {
    console.log("onload");
    foo();
    setInterval(function(){
        foo(); 
    },2000);
}
onload();
</script>
</body>
</html>

这是data.xml

<?xml version="1.0" encoding="UTF-8"?>
 <outer>
    <inner>
        <f1>174</f1>
    </inner>
 </outer>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)