Ajax技术
XMLHttpRequest对象
XMLHttpRequest对象的Ajax的核心技术之一,在Ajax中,通过这个对象实现与服务器端的通信。这个对象由JavaScript来创建,在不同的浏览器中有不同的创建方法,但创建成功后,其使用方法是相同的
1.XMLHttpRequest对象的创建
不同的浏览器创建XMLHttpRequest对象使用的语句是不同的。为了在不同的浏览器下都能成功创建XMLHttpRequest对象,需要针对不同的浏览器创建
XMLHttpRequest对象是通过JavaScript创建的,代码如下:
var xmlHttpRequest=null;
if(windows.XMLHttpRequest){
xmlHttpRequest=new XMLHttpRequest();
}
else if(windows.ActiveXObject){
try{
xmlHttpRequest=new ActiveXObject("Msxml2.XMLHTTP");//针对IE较新版本创建
}catch(e){
try{
xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");//针对IE较老版本创建
}catch(e){}
}
}
2.XMLHttpRequest的方法和属性
在XMLHttpRequest对象创建后,就可以对该对象进行各种不同的操作,从而完成与服务器的通信。XMLHttpRequest对象的常用方法和属性如下:
(1)open(string request-type,string url,Boolean asynch,string name,string password)方法
request-type:发送请求的类型。该参数的取值为get或post或head方法
url :要连接的服务器的URL
asych :若使用异步连接则为true,否则为false。参数可选。默认true
username :若需要身份认证,则在此指定用户名
password: 若需要身份认证,在此指定口令
(2)send(String content)方法
该方法向服务器发送请求。参数content,表示发送的内容
(3)setRequestHeader(string lable,string value)
该方法在发送请求前,先设置请求头
例如,若在方法中使用的request-type的值的post,则需要设置请求头:
XMLHttpRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");
(4)readyState属性
提供当前HTML的就绪状态,用于确定该请求是否已经开始、是否得到了响应或者请求/响应模型是否已经完成
(5)status属性
(6)onreadstatechange属性