1

该页面主要使用 PHP,并且仅少量使用任何 JavaScript,因此我不希望在没有它的情况下使用 jQuery。我想更新页面的一部分,但我对 Ajax 不是很有经验。jQuery 的方法是在页面的 URL 后面加上“#sectionid”。

4

1 回答 1

3

您需要了解的所有信息都在这里:

https://developer.mozilla.org/en/XMLHttpRequest

您将对文档的、sendopenresponse部分感兴趣。readyStateonreadystatechange

onreadystatechange每当您的请求的 readyState 更改时都会触发。更改readyState为后,done您可以检查收到的回复。

确保在打开时以异步模式打开。您不想通过发出同步 http 请求来冻结您的页面。

如果您需要它在旧版本的 IE 上运行,维基百科有一些很好的信息: http ://en.wikipedia.org/wiki/XMLHttpRequest#Support_in_Internet_Explorer_versions_5.2C_5.5_and_6

我假设您知道如何使用document.getElementByIdelement.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 回答