Ajax原理及施用三(发送请求和处理响应的一般步骤)
Ajax原理及应用三(发送请求和处理响应的一般步骤)一、创建了XMLHttpRequest对象后,便可以通过其属性和方法
Ajax原理及应用三(发送请求和处理响应的一般步骤)
一、创建了XMLHttpRequest对象后,便可以通过其属性和方法发送和处理HTTP请求,发送请求和处理响应的一般步骤如下:
1、调用open()方法设置请求方式、目标URL,同步或者异步方式以及可能需要的授权信息。 2、根据需要,调用setRequestHeader(),设置指定的HTTP头,发送GET请求时,不需要设置指定的请求头,而发送post请求时,需要设置“content-type”头设置为“application/x-www-form-urlencoded",否则服务器端脚本将无法解析发送到服务器端的数据内容。 3、对于异步请求,如果需要对服务器获取和操作响应结果,则在发送请求之前,需要为onreadystatechange属性指定处理方法。该函数用户对服务器响应进行处理。 4、调用send()方法发送请求,对于GET请求,send()方法参数为null,对于post请求,则send()方法参数为要发送的内容。 5、在为onreadystatechage事件句柄指定函数时,通过判断readState是否到达4,判断响应是否已全部接收到。当readyState为4时,通过getResponseHeader()或者getAllRequestHeader()方法获取响应头信息,通过responseText或者responseXML属性获取响应内容。 6、对响应内容进行相应操作。
二、创建ajax实例,代码如下:
if(typeof(XMLHttpRequest)=='undefined'?&&?window.ActiveXObject) ??????{??? ????????function?XMLHttpRequest(){??? ??????????var?xml_http_arr=["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];??? ??????????var?xml_request;??? ??????????for(var?i=0;i<xml_http_arr.length;i++){??? ?????????????if(xml_request?=?new?ActiveXObject(xml_http_arr[i]))??? ??????????????break;??? ???????????}?????? ?????????return?xml_request;??? ?????????}??? ????}??? ????var?xml_http_request=new?XMLHttpRequest();? ??//登录 ??function?login(){ ???????? ?????var?url="${pageContext.request.contextPath}/cbice/webuserAction.do?method=login";???? ??????xml_http_request.open("post",url,true); ??????xml_http_request.setRequestHeader("Content-Type","text/html;charset=gbk"); ??????xml_http_request.onreadystatechange=getResultValue; ??????xml_http_request.send(url); ???????? ??} ????function?getResultValue(){ ??if(xml_http_request.readyState==4){ ??????if(xml_http_request.status==200){ ??????????var?res=xml_http_request.responseText; ??????????alert("成功"+res); ??????}else{ ??????????alert("失败"); ??????} ??} ???}??
http://shawnfree.iteye.com/blog/375456