ajax入门 笔记1

一、获取XMLHttpRequest 对象


var xmlHttp = false;

try {
  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
  try {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e2) {
    xmlHttp = false;
  }
}

if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
  xmlHttp = new XMLHttpRequest();
}
这段代码的核心分为三步:

   1. 建立一个变量 xmlHttp 来引用即将创建的 XMLHttpRequest 对象。
   2. 尝试在 Microsoft 浏览器中创建该对象:
          * 尝试使用 Msxml2.XMLHTTP 对象创建它。
          * 如果失败,再尝试 Microsoft.XMLHTTP 对象。
   3. 如果仍然没有建立 xmlHttp,则以非 Microsoft 的方式创建该对象。

二、发出 Ajax 请求
function callServer() {
  // Get the city and state from the web form
  var city = document.getElementById("city").value;
  var state = document.getElementById("state").value;
  // Only go on if there are values for both fields
  if ((city == null) || (city == "")) return;
  if ((state == null) || (state == "")) return;
  // Build the URL to connect to
  var url = "/scripts/getZipCode.php?city=" + escape(city) + "&state=" + escape(state);
  // Open a connection to the server
  xmlHttp.open("GET", url, true);
  // Setup a function for the server to run when it's done
  xmlHttp.onreadystatechange = updatePage;
  // Send the request
  xmlHttp.send(null);
}
三、处理响应
function updatePage() {
  if (xmlHttp.readyState == 4) {
    var response = xmlHttp.responseText;
    document.getElementById("zipCode").value = response;
  }
}
四、 启动一个 Ajax 过程
<form>
<p>City: <input type="text" name="city" id="city" size="25"
       onChange="callServer();" /></p>
<p>State: <input type="text" name="state" id="state" size="25"
       onChange="callServer();" /></p>
<p>Zip Code: <input type="text" name="zipCode" id="city" size="5" /></p>
</form>


你可能感兴趣的:(Ajax,PHP,浏览器,Microsoft,Go)