Ajax入门:ajax的发送异步请求

ajax发送异步请求(四步):

第一步:

(得到XMLHttpRequest)

*ajax其实只需要学习一个对象,XMLHTTPRequest,如果掌握了它,就掌握了ajax!!!

*得到XMLHTTPRequest

--大多数浏览器都支持:var xmlHttp = new XMLHttpRequest();

--IE 6.0 :var xmlHttp =new  ActiveXobject(“Msxm12.XMLHTTP”);

--IE 5.5以及以前 : var xmlHttp= new AtiveXObject("Microsoft.XMLHTTP");

*编写创建XMLHttpRequest对象的函数: (无需判断浏览器类型,可用下面的方式)

function createXMLHttpRequest(){
    try{
       return new XMLHttpRequest();
    }catch(e){
        try{
	   return new  ActiveXobject("Msxm12.XMLHTTP");
	}catch(e){
	   try{
	      return new AtiveXObject("Microsoft.XMLHTTP");
	   }catch(e){
	      alert("用的啥浏览器啊?");
	      throw e;
	   }
	}
    }
}

 第二步

(打开与服务器的链接)

*xmlHttp.open() :  用来打开与服务器的链接,它需要是三个参数

--请求方式:可以是GET或Post

--请求的url:指定服务器端资源,例如、; /abc/AServlet

--请求是否为异步:如果为true表示发送异步请求,否则为同步请求

*xmlHttp.open("GET","/abc/AServlet",ture)

第三步

*xmlHttp.send(null) : 如果不给(null)可能会造成部分浏览器无法发送

-- 参数:就是请求体内容!如果是GET请求,必须给出null.

第四步

*在xmlHttp对象的一个事件上注册监听器 : onreadystatechange

--0状态:刚创建,还没有调用open()方法;

--1状态:请求已经开始,调用了open方法,但还没有调用send方法();

--2状态:调用完了send()方法了;

--3状态:服务器已经开始响应,但不表示响应结束了!

--4状态:服务器响应结束(通常我们只关心这个状态!!!)

*得到xmlHttp对象的状态

--var state = xmlHttp.readyState; //可能是 0 1 2 3 4

*得到服务器响应的状态码

-- var status = xmlHttp.status; // 例如 200 404 500

*得到服务器响应的内容

--var content = xmlHttp.responseText; //得到服务器的响应的文本格式的内容

--var content = xmlHttp.responseXML; // 得到服务器的响应的xml响应的内容他是Document对象了

例:

xmlHttp.onreadystatechange = function(){//xmlHttp的五种状态都会调用本方法
    if(xmlHttp.readyState == 4 && xmlHttp.status == 200){//双重判断,判断是否为4状态,而且还要判断是否为200
    //获取服务器的响应内容
    var text = xmlHttp.responseText;
    }
};

 

阅读剩余
THE END