我有一个重新加载当前页面的 AJAX 函数。现在我不想重新加载整个页面,是否可以在 http.responseText 中获取例如 div#footer 的 innerHTML?我真正想做的是:
document.getElementById("footer").innerHTML = http.responseText.getElementById("footer");
但是当然不可能那样做,而且我不想重写整个页面,例如,如果存在 GET 变量,它只会打印出页脚。有什么想法吗?谢谢!
我有一个重新加载当前页面的 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</div> e.g.: </div><div id="end"></div>
而不是
s1=s1.substring(0,s1.indexOf('</div>'));
做:
s1=s1.substring(0,s1.indexOf('</div><div id="end">'));