微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。