重新加载页面的一部分AJAX

Reload part of a page AJAX

本文关键字:一部分 AJAX 新加载 加载      更新时间:2023-09-26

我有一个AJAX函数,可以重新加载当前页面。现在我不想重新加载整个页面,是否可以在http.responseText中获得div#footer的innerHTML?我真正想做的是:

document.getElementById("footer").innerHTML = http.responseText.getElementById("footer");

当然,这是不可能的,而且我不想重写整个页面,例如,如果存在GET变量,它只打印页脚。。有什么想法吗?谢谢

XMLHttpRequest并将其解析为字符串?

h=http.responseText;
s1=h.substring(h.indexOf('<div id="footer"'));
s1=s1.substring(s1.indexOf('>')+1);
s1=s1.substring(0,s1.indexOf('</div>'));
document.getElementById("footer").innerHTML=s1

但是,如果页脚中有更多的div,这将占用它,直到下一个div结束——在页脚的</div> e.g.: </div><div id="end"></div> 之后创建一个新的div

而不是

s1=s1.substring(0,s1.indexOf('</div>'));

do:

s1=s1.substring(0,s1.indexOf('</div><div id="end">'));

您应该使用document.createDocumentFragment