ajax

创建对象
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 
 
 
向服务器发送请求
open(method,url,async){method:post、get和url:文件在服务器上的位置和async:true、false}
send(string):仅用于post
 
在以下情况中,请使用 POST 请求:
- 无法使用缓存文件(更新服务器上的文件或数据库)
- 向服务器发送大量数据(POST 没有数据量限制)
- 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
 
 
服务器响应
responseText 获得字符串形式的响应数据
 
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
 
responseXml  获得XML形式的响应数据
 
xmlDoc=xmlhttp.responseXML;
txt="";
x=xmlDoc.getElementsByTagName("ARTIST");
for (i=0;i<x.length;i++)
  {
  txt=txt + x[i].childNodes[0].nodeValue + "<br>";
  }
document.getElementById("myDiv").innerHTML=txt;
 
 
onreadystatechange事件
onreadystatechange :存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
readyState:- 0: 请求未初始化
                     - 1: 服务器连接已建立
                     - 2: 请求已接收
                     - 3: 请求处理中
                     - 4: 请求已完成,且响应已就绪
status:200: "OK"
             404: 未找到页面
使用回调函数
function myFunction()
{
loadXMLDoc("ajax_info.txt",function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
  {
  document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
  }
  });
}
原文地址:https://www.cnblogs.com/lyne11/p/6598021.html