该页面主要使用 PHP,并且仅少量使用任何 JavaScript,因此我不希望在没有它的情况下使用 jQuery。我想更新页面的一部分,但我对 Ajax 不是很有经验。jQuery 的方法是在页面的 URL 后面加上“#sectionid”。
问问题
493 次
1 回答
3
您需要了解的所有信息都在这里:
https://developer.mozilla.org/en/XMLHttpRequest
您将对文档的、send
、open
和response
部分感兴趣。readyState
onreadystatechange
onreadystatechange
每当您的请求的 readyState 更改时都会触发。更改readyState
为后,done
您可以检查收到的回复。
确保在打开时以异步模式打开。您不想通过发出同步 http 请求来冻结您的页面。
如果您需要它在旧版本的 IE 上运行,维基百科有一些很好的信息: http ://en.wikipedia.org/wiki/XMLHttpRequest#Support_in_Internet_Explorer_versions_5.2C_5.5_and_6
我假设您知道如何使用document.getElementById
和element.innerHTML
设置元素的内容。
编辑 继续并添加了一个基本实现:
if (window.XMLHttpRequest) {// IE7+, Firefox, Webkit, Opera
window.xmlhttp = new XMLHttpRequest();
} else {// IE6, 5
window.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("someId").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "pageUrl", true);
xmlhttp.send();
于 2012-05-21T00:23:49.883 回答