`
dahui12344321
  • 浏览: 242563 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ajax提交的五步详解

    博客分类:
  • Ajax
阅读更多
Ajax提交的五步
   相信很多人已经听说过甚至还精通Ajax技术了,现在的dojo,jquery,ext等等,他们都实现了Ajax技术,并很好的封装了底层的Ajax。那么它的底层是怎样的呢。

下面就是它的详细的底层代码

 
 <script language="JavaScript" type="text/javascript">
   var xmlreq = false;
   // ---------------初始化XMLHttpRequest--------------------
   function createXMLHttpRequest(){
       if (window.XMLHttpRequest) {
           //不是ie浏览器
           xmlreq = new XMLHttpRequest();
       }
       else 
           if (window.ActiveXObject) {
               //IE
               try {
                   xmlreq = new ActiveXObject("Msxml12.XMLHTTP");
               } 
               catch (e1) {
                   try {
                       req = new ActiveXObject("Microsoft.XMLHTTP");
                   } 
                   catch (e2) {
                   // Unable to create an XMLHttpRequest with ActiveX
                   }
               }
               
           }
   }
   
   //------------发送XMLHttpRequest请求-----------------
   //GET提交请求
   function sendRequestGet(url){
       createXMLHttpRequest();
       xmlreq.open("get", url, true);
       xmlreq.onreadystatechange = processResponse;//响应请求函数
       xmlreq.send(null);
   }
   
   //POST提交请求
   function sendRequestPost(url, param){
       createXMLHttpRequest();
       xmlreq.open("post", url, true);
       xmlreq.onreadystatechange = processResponse;//响应请求的函数
       xmlreq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
       xmlreq.send(param);
   }
   
   function sendRequest(url, param, method){
       if (method) {
           if (method.toLowerCase("get")) {
               sendRequestGet(url + "?" + param);
           }
           else 
               if (method.toLowerCase("post")) {
                   sendRequestPost(url, param);
               }
       }
       else {
           alert("method is null");
       }
   }
   
   //---------响应请求的函数------------
   function processResponse(){
       if (xmlreq.readyState == 4) {
           if (xmlreq.status == 200) {
        	  var res = xmlreq.responseText;//服务器段返回的信息
   					   
           }
           else {
               alert("发送失败!")
           }
       }
   }
		// ajax表单验证
		 
	
        </script>
7
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics