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属性

原文地址:https://www.cnblogs.com/lls1350767625/p/7846904.html