ajax

是运用javaScript技术和可扩展语言(xml)实现浏览器与服务器通信的一种技术。实现浏览器与服务器异步交互的技术,用户的请求不需要刷新整个页面,只需要刷新局部页面即可

主要涉及xhtml和css构建标准化的展示层,使用dom进行显示和交互,使用xml和xslt进行数据交换和操作,使用xmlHttpRequest异步获取数据,使用javaScript将所有元素绑定在一起,其中xmlHttpRequest对象是ajax核心技术之一,在ajax中,通过这个对象实现与服务器锻的通信。这个对象由javaScript创建,在不同浏览器中有不同的创建方法,但创建方法后,其使用方法是相同的

1 xmlHttpRequest对象的创建。

  为了能成功创建其对象,需要针对不同浏览器创建。

var xmlHttpRequest = null;//声名对象
if(window.XMLHttpReuest){
    xmlHttpRequest = new XMLHttpRequest();
}
else if(window.ActiveXObject) {
    try{
        xmlHttpRequest = new ActiveXObject(Msxml2.XMLHTTP);//针对ie比较新的版本
    }catch (e) {
        try {
            xmlHttpRequest = new ActiveXObject(Microsoft.XMLHTTP);
        }catch(e) {}
    }
}

其对象创建后,就可以对该对象进行各种操作,从而完成与服务器的通信。常用属性和方法如下

1)open(string request-type,string url,Boolean asynch,string name,string password)

用于建立到服务器的连接,其参数含义如下

request-tpe:发送请求的类型。该参数取值为get或post或head方法。要特别注意参数汉字乱码的问题

url:要连接的服务器的url

asynch:若使用异步连接则为true,否则为false。参数可选 默认为true

username:若需要身份验证,则在次指定用户名

password:若需要身份验证,在此指定口令,通常使用前三个方法

2)send(String content)方法 该方法向服务器发送请求。参数content为发送的内容

3)setRequestHeader(string label,string value)该方法在发送请求前,先设置请求头

若在open方法中使用的request-type为“post”,则需要设置请求头

xmlHttpRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");

4)readState属性 提供当前html就绪状态,用于确定该请求是否开始、是否得到了响应或者请求/响应模型是否已经完成。它还可以帮助确定读取服务器提供的响应文本或数据是否安全。在ajax程序中5中就绪状态如下

0:请求未发出(在调用open之前)

1:请求建立但未发出(调用send之前)

2:请求已经发出正在处理中(通常可以从响应得到内容头部)

3:请求已经处理,响应中有部分数据可用,但是服务器还未完成响应

4:响应完成,可以访问服务器响应并使用它

对于ajax编程,需要直接处理的唯一状态就是就绪状态4,它表示服务器响应已经完成,可以安全地使用响应数据了。

待续。。。

原文地址:https://www.cnblogs.com/gride-glory/p/7862615.html