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
原文地址:http://www.cnblogs.com/yiyi17/p/7521650.html