首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ajax只加载一次

ajax只加载一次
EN

Stack Overflow用户
提问于 2011-06-15 05:46:54
回答 5查看 337关注 0票数 3

我有这样的代码:

代码语言:javascript
运行
复制
window.onload= function() {
    window.scrollTo(0, 0.9);
    if (navigator.standalone) return;
    for (var i= document.links.length; i-->0;) {
        document.links[i].onclick= function() {
            var req= new XMLHttpRequest();
            req.onreadystatechange= function() {
                if (this.readyState!==4) return;
                document.body.innerHTML= this.responseText;
            };
            req.open('GET', this.href, true);
            req.send();
            return false;
        };
    }
};

它基本上获取被单击的a的href,并将该href加载到当前正文中。现在的问题是它只起作用一次。一旦内容发生改变,只要我点击另一个链接(在新页面上),它就会重定向,url也会改变。然后ajax再次工作,因为我“真的”更改了页面并重置了整个页面。

我有点迷路了。如何将我的函数重置为永久工作?谢谢,

克里斯托弗

编辑:好的,所以我尝试了这样的方法:

代码语言:javascript
运行
复制
function ajax(){
    if (navigator.standalone) return;
    for (var i= document.links.length; i-->0;) {
        document.links[i].onclick= function() {
            var req= new XMLHttpRequest();
            req.onreadystatechange= function() {
                if (this.readyState!==4) return;
                document.body.innerHTML= this.responseText;
            };
            req.open('GET', this.href, true);
            req.send();
            ajax();
            return false;
        };}
    }



window.onload= function() {
    window.scrollTo(0, 0.9);
    ajax();

};

但无济于事...显然,在ajax()函数完成时调用它是不够的。还有没有人能帮我更多:s。这不是我的专业领域:)。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-06-15 05:52:00

在使用响应删除原始<body>内容之后,您必须重新建立“单击”处理程序。由于响应返回后,旧DOM中的所有内容都消失了,因此处理程序绑定也消失了。

票数 2
EN

Stack Overflow用户

发布于 2011-06-15 05:51:36

它被缓存了吗?在href中添加"?random=“+ Math.random。

票数 1
EN

Stack Overflow用户

发布于 2011-06-15 05:52:27

您将替换整个文档,包括绑定AJAX处理程序的链接。

window.onload仅在文档加载时触发,而不是在ajax调用完成时触发。

将onload处理程序放入一个新函数中,然后在就绪状态更改处理程序中手动调用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6350534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档