自己编写Ajax

自己编写AJAx 封装成一个js 文件,

var AjaxUntilHelper ={

xmlXHR:function(){

 xmlHttp=null;

  if(window.XMLHttpRequest){

  

  // code for IE7, Firefox, Opera, etc.

  xmlHttp = new XMLHttpRequest();

  

  }else if(window.ActiveXObject){ 

  // code for IE6 ,IE5

  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

  }

  

  return xmlHttp;

 

 },

     //get 请求

      AjaxGet:function(url ,successFun){

      this.ajaxOpt("get", url,null, sucessFun);

     

      },

    //post 请求

 AjaxPost:function(url,data,successFun){

 this.ajaxOpt("get", url,data, sucessFun);

 },

 

 

 /**定义ajax的get和post请求 ,

  * httpMenthod :get,post,

  * data:发送给服务器的数据,post有值,get为null

   sucessFun成功的回掉函数 **/

 ajaxOpt:function(httpMenthod,url,data,successFun){

 //由于get 和 post所走的流程不一样,转换成小写,进行判断

 var httpmenth=httpMenthod.toLowerCase();

 

 //创建定义XMLHttprequest对象

 var ajaxobj = this.xmlXHR();

 

  //异步对象设置参数,总是异步true

 ajaxobj.open(httpMenthod, url, true);

 

 if(httpmenth =='get'){

 

      ajaxobj.setRequestHeader("If-Modified-Since", "0");

 

 }else {

 

       //告诉服务器请求的数据类型

           ajaxobj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

 }  

 

 //设置一个回调函数

 ajaxobj.onreadystatechange =function(){

 if(ajaxobj.readyState ==4){

 if(ajaxobj.status== 200){

 

 var jsonObj = JSON.parse(ajaxobj.responseText);

               if (jsonObj.Status == "sucess") {

                   sucessFun(jsonObj);

               }

               else {

                   alert("Problem retrieving XML data");

               }

 }

 }

 

 }

 ajaxobj.send(data);  

 },

}

 //异步post请求新增

                    ajaxHelper.ajaxPost("getdata.jsp?type=add", parms, function (jsonobj) {

                    //  ajaxHelper.ajaxGet("getdata.ashx?type=getdata", function (jsonobj)   get方法没有parms属性

                        if (jsonobj.Status == "error") {

                           //提示失败的信息

                        } else {

                          //进行成功操作

                        }

                    })

相关推荐