原生ajax封装,数据初始化,
生活随笔
收集整理的這篇文章主要介紹了
原生ajax封装,数据初始化,
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
var ajaxTool = {setting : {method : 'get',url : location.href,data : '',callback : function(){alert('兄弟,你忘記寫(xiě)回掉函數(shù)了吧')}},ajax :function(json){//初始化數(shù)據(jù)var This = thisthis.extend(this.setting,json);//創(chuàng)建一個(gè)xhr對(duì)象var xhr = new XMLHttpRequest();//格式化數(shù)據(jù)格式 以字符串鍵值隊(duì)的形式傳遞數(shù)據(jù)this.setting.data = this.format(this.setting.data);//發(fā)送請(qǐng)求if(this.setting.method == 'get'){this.setting.url += "?" + this.setting.datathis.setting.data = null;}xhr.open(this.setting.method,this.setting.url,true);if(this.setting.method == 'post'){xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');}//發(fā)送請(qǐng)求xhr.send(this.setting.data)//監(jiān)聽(tīng)請(qǐng)求狀態(tài)xhr.onreadystatechange = function (){if(xhr.readyState==4&&xhr.status==200){var result = JSON.stringify(xhr.responseText) //假設(shè)請(qǐng)求的是json文件result = JSON.parse(result);This.setting.callback(result);}}},extend :function(obj1,obj2){for (var attr in obj2) {obj1[attr] = obj2[attr]}},format : function(data){var html ="";for (var attr in data) {html += attr + '=' + data[attr]+'&';}html = html.substring(0,html.length-1)return html;}}
轉(zhuǎn)載于:https://www.cnblogs.com/he-zhi/p/6954290.html
總結(jié)
以上是生活随笔為你收集整理的原生ajax封装,数据初始化,的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: [bzoj3926][Zjoi2015]
- 下一篇: datable转xml