AJAX全称为"Asynchronous JavaScript and XML"(异步JavaScript和XML),是指一种创立交互式网页应用的网页开发技术。 

  Ajax(Asynchronous JavaScript + XML)的定义 
  基于web标准(standards-based presentation)XHTML+CSS的表示; 
  使用 DOM(Document Object Model)进行动态预示及交互; 
  使用 XML 和 XSLT 进行数据交换及相干操作; 
  使用 XMLHttpRequest 进行异步数据查询、检索; 
  使用 JavaScript 将所有的工具绑定在一起。 
  AJAX应用可以仅向办事器发送并取回必需的数据,它使用SOAP或其他一些基于XML的web service接口,并在客户端采用JavaScript处理来自办事器的响应。因为在办事器和浏览器之间交换的数据大量减少,结果咱们就能瞥见响应更快 的应用。同时很多的处理工作可以在发出请求的客户端呆板上完成,所以Web办事器的处理时间也减少了。 
  Ajax的核心是JavaScript对象XmlHttpRequest. 
  Ajax的工作原理相当于在用户和办事器之间加了-个中心层,使用户操作与办事器响应异步化。这样把以前的一些办事器承担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减缓办事器和带宽的承担,从而达到节约ISP的空间及带宽租用成本的目的。 
  Ajax应用程序的优势在于: 
  1. 经由过程异步标准样式,提升了用户体验 
  2. 优化了浏览器和办事器之间的传道输送,减少不须要的数据往返,减少了带宽占用 
  3. Ajax引擎在客户端运行,承担了一部门原来由办事器承担的工作,从而减少了大用户量下的办事器负载。 
  例子: 
  <script language="JavaScript"> 
  var req = null; 
  function test() { 
  var province = document.all("province").value; 
  req = new ActiveXObject("Microsoft.XMLHTTP"); 
  //配置属性,当后台处理完成后,回来调用myDeal要领。 
  req.onreadystatechange = myDeal; 
  //发出请求 
  req.open("GET", "c.jsp?province=" + province, "false"); 
  req.send(null); 
  } 
  function myDeal() { 
  if (req.readyState == 4) { 
  //接收办事端归回的数据 
  var ret = req.responseText; 
  //处理数据 
  var obj = document.all("city"); 
  for (var i = obj.options.length - 1; i >= 0; i--) { 
  obj.options.remove(i); //从后往前删除 
  } 
  var ops = ret.split("|"); 
  for (var i = 0; i < ops.length; i++) { 
  var op = ops[i]; 
  var ss = op.split(","); 
  var oOption = document.createElement("OPTION"); //创立一个OPTION节点 
  obj.options.add(oOption); //将节点加入city选项中 
  oOption.innerText = ss[1]; //配置选择展览的信息 
  oOption.value = ss[0]; //配置选项的值 
  } 
  } 
  } 
  </script> 
  XMLHttpRequest 要领: 
  1.abort() 停止当前请求。 
  2.getAllResponseHeaders() 把Http请求的所有响应首部作为键值对归回 
  3.getResponseHeader("header") 归回指定的首部的串值 
  4.open("method","url") 成立对办事器的调用,method参数可以是GET,POST,PUT, url是相对url或者绝 对url。还有3个参数可选的,bool(true表示是异步的,与之相反是同步的),最后二个参数是指特别指定的用户名和密码。 
  5.send(content) 向办事器发送请求 如果请求是异步的,则这个要领就会立即归回,否则它会等待接受到 
  直至接受到响应为止,参数会被当作请求体的一部门一起发送 
  6. setResquestHeader("header","value")把指定首部设定为所提供的值,在配置任何首部之前必需先调用open() 第一个参数表示要配置的首部,第二个参数辨识要在首部中放的值。 
  xmlHttpResquest 属性 
  1.onreadystatechange 每一个状态改变时城市被触动引发这个事件处理器,通常会调用一个JavaScript 
  2.readyState 请求状态0=未初始化,1=正在加载,2=已加载,3=交互中,4=完成 
  3.responseText 办事器的响应,表示一个串 
  4.responseXML办事器的响应,表示为xml,这个对象可以解析为一个DOM对象 
  5.status 办事器的状态码(200 为ok 404 未找到) 
  6.statusText HTTP状态码的相应文本