码迷,mamicode.com
首页 > Web开发 > 详细

兼容的Ajax

时间:2017-09-14 18:48:40      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:eal   ext   域名   ack   span   地址   异步   instance   版本   

 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

标签:eal   ext   域名   ack   span   地址   异步   instance   版本   

原文地址:http://www.cnblogs.com/yiyi17/p/7521650.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!