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实例,代码如下:

Javascript代码 复制代码
  1. if(typeof(XMLHttpRequest)=='undefined' && window.ActiveXObject)   
  2.     {      
  3.       function XMLHttpRequest(){      
  4.         var xml_http_arr=["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];      
  5.         var xml_request;      
  6.         for(var i=0;i
  7.            if(xml_request = new ActiveXObject(xml_http_arr[i]))      
  8.             break;      
  9.          }         
  10.        return xml_request;      
  11.        }      
  12.   }      
  13.   
  14. var xml_http_request=new XMLHttpRequest();    
  15. //登录   
  16. function login(){   
  17.          
  18.    var url="${pageContext.request.contextPath}/cbice/webuserAction.do?method=login";       
  19.     xml_http_request.open("post",url,true);   
  20.     xml_http_request.setRequestHeader("Content-Type","text/html;charset=gbk");   
  21.     xml_http_request.onreadystatechange=getResultValue;   
  22.     xml_http_request.send(url);   
  23.   
  24.        
  25. }   
  26.   function getResultValue(){   
  27. if(xml_http_request.readyState==4){   
  28.     if(xml_http_request.status==200){   
  29.         var res=xml_http_request.responseText;   
  30.         alert("成功"+res);   
  31.     }else{   
  32.         alert("失败");   
  33.     }   
  34. }   
  35.  }  

http://shawnfree.iteye.com/blog/375456

你可能感兴趣的:(ajax)