仅对特定的 html 元素启用刷新

新手上路,请多包涵

我想知道如何只刷新我网站中的特定元素,而不是整个网页?我正在谈论的元素是一个加载速度很慢并且可能会遇到连接超时的 Flash 应用程序。我想让用户只刷新那个元素/falsh 应用程序。我怎么做?下面我有一个更新 HTML 元素的 Ajax 函数,但不知道如何将它应用到我的情况。

 <head>
    <script type="text/javascript">
        function loadXMLDoc() {
            var xmlhttp;
            if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp = new XMLHttpRequest();
            } else { // code for IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange = function () {
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                    document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
                }
            }
            xmlhttp.open("GET", "ajax_info.txt", true);
            xmlhttp.send();
        }
    </script>
</head>
<body>
    <div id="myDiv">
        <h2>Let AJAX change this text</h2>
    </div>
    <button type="button" onclick="loadXMLDoc()">Change Content</button>
</body>

原文由 Dexter Schneider 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 595
2 个回答

尝试这个:

 function reload(){
    var container = document.getElementById("yourDiv");
    var content = container.innerHTML;
    container.innerHTML= content;

   //this line is to watch the result in console , you can remove it later
    console.log("Refreshed");
}
 <a href="javascript: reload()">Click to Reload</a>
    <div id="yourDiv">The content that you want to refresh/reload</div>

希望它有效。让我知道

原文由 DextrousDave 发布,翻译遵循 CC BY-SA 3.0 许可协议

对我来说最好的答案是,而不是重新加载整个页面只是重新加载一个 div 是:

 $( "#your_div_ID" ).load(window.location.href + " #your_div_ID" );

在评估响应时,我在 ajax 函数中构建了它。

原文由 Jamal Azizbeigi 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题