兼容的Ajax

 1 /**
 2  * 创建XMLHttpRequest对象
 3  * @param _method 请求方式: post||get
 4  * @param _url 远程服务器地址
 5  * @param _async 是否异步
 6  * @param _parameter 向服务器发送数据
 7  * @param _callBack 回调函数
 8  */
 9 function parameterDeal(_parameter){
10     var _sender="";
11     if(_parameter instanceof Object){
12         for(var k in _parameter){
13             _sender+=k+"="+_parameter[k]+"&";
14         }
15         return _sender.replace(/&$/g,"");
16     }else{
17         return _parameter;
18     }
19 }
20 function createXMLHttpRequest(){
21     try{
22         return new window.XMLHttpRequest();
23     }catch(e){
24         try{
25             return new ActiveXObject("MSXML2.XMLHTTP.6.0");
26         }catch(e){
27             try{
28                 return new ActiveXObject("MSXML2.XMLHTTP.3.0");
29             }catch(e){
30                 try{
31                     return new ActiveXObject("MSXML2.XMLHTTP");
32                 }catch(e){
33                     try{
34                         return new ActiveXObject("Microsoft.XMLHTTP");
35                     }catch(e){
36                         throw new Error("该浏览器版本太低,已经被大部分市场淘汰,请升级!!!");
37                         return;
38                     }
39                 }
40             }
41         }
42     }
43 }
44 
45 import Host from  './Host.js';//域名的全局变量
46 
47 var Ajax=function(_method,_url,_async,_parameter,_callBack){
48     _url=Host+_url;
49     var _ajax=createXMLHttpRequest();
50     if(_ajax){
51         _ajax.open(_method,_url,_async);
52         _ajax.onreadystatechange=function(){
53             if(_ajax.readyState==4 && _ajax.status==200){
54                 _callBack(_ajax.responseText);
55             }
56         }
57         _ajax.setRequestHeader("content-type","application/x-www-form-urlencoded;charset=utf-8");
58         try {
59             _ajax.send(parameterDeal(_parameter));
60         } catch (e) {
61             console.log(e);
62         } finally {
63 
64         }
65     }
66 }
67 
68 export default Ajax;

兼容的Ajax

如果觉得文章不错,可以给小编发个红包给予鼓励.