加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

还在为需要ajax而导入jquery吗? 纯js封装ajax操作

发布时间:2020-12-16 02:00:38 所属栏目:百科 来源:网络整理
导读:文件名:SydAjax.js 1 /* * 2 * @desc javascript Ajax 3 * @parameter opt 4 * @parameter string opt.type post/get, 5 * @parameter string opt.url 6 * @parameter string opt.data or json object 7 * @parameter function opt.success 8 * @parameter f

文件名:SydAjax.js

 1 /**  2  * @desc javascript Ajax  3  * @parameter opt  4  * @parameter string opt.type post/get, 5  * @parameter string opt.url  6  * @parameter string opt.data or json object  7  * @parameter function opt.success  8  * @parameter function opt.error  9  * @author Sydney 10  * @date 2013年6月3日 11  */
12 var SydAjax = { 13     ajax:function(opt){ 14         var xhr = this.createXhrObject(); 15         xhr.onreadystatechange = function(){ 16             if(xhr.readyState!=4) return ; 17             (xhr.status===200 ?
18  opt.success(xhr.responseText,xhr.responseXML): 19  opt.error(xhr.responseText,xhr.status)); 20  } 21         xhr.open(opt.type,opt.url,true); 22         if(opt.type!=='post') 23             opt.data=null; 24         else
25             xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 26         opt.data = this.parseQuery(opt.data); 27  xhr.send(opt.data); 28  },29     post:function(url,success,data){ 30         var popt = { 31  url:url,32             type:'post',33  data:data,34  success:success,35             error:function(data){} 36  } 37         this.ajax(popt); 38  },39     get:function(url,success){ 40         var gopt = { 41  url:url,42             type:'get',43  success:success,44             error:function(){} 45  } 46         this.ajax(gopt); 47  },48     createXhrObject:function(){ 49         var methods = [ 50             function(){ return new XMLHttpRequest();},51             function(){ return new ActiveXObject('Msxml2.XMLHTTP');},52             function(){ return new ActiveXObject('Microsoft.XMLHTTP');} 53  ]; 54         for(var i=0;len=methods.length,i<len;i++){ 55             try{ 56  methods[i](); 57             }catch(e){ 58                 continue; 59  } 60             this.createXhrObject = methods[i]; 61             return methods[i](); 62  } 63         throw new Error('Could not create an XHR object.'); 64  },65     parseQuery:function(json){ 66         if(typeof json == 'object'){ 67             var str = ''; 68             for(var i in json){ 69                 str += "&"+i+"="+encodeURIComponent(json[i]); 70  } 71             return str.length==0 ? str : str.substring(1); 72         }else{ 73             return json; 74  } 75  } 76 };

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读