重新加载页面AJAX的一部分

时间:2012-09-01 13:58:52

标签: javascript html ajax

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

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

但当然不可能那样,而且我不想重写整个页面,例如,如果GET变量存在,它只会打印出页脚。 有任何想法吗?谢谢!

2 个答案:

答案 0 :(得分:3)

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>'));

做的:

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

答案 1 :(得分:1)