const $ = (function (window) {
function formatData(data) {
let str = '';
for(let prop in data) {
// str += `${prop}=${data[prop]}&`;
str += prop + "=" + data[prop] + "&";
}
return str.slice(0, str.length - 1);
// return str.replace(/&$/, "");
}
function _getData(opt) {
var opt = opt || {},
xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"),
type = (opt.type || "GET").toLowerCase(),
url = opt.url,
data = opt.data || {},
async = opt.async || true;
success = opt.success || function() {},
error = opt.error || function() {},
complete = opt.complete || function() {};
if(!url) {
throw Error('请输入URL');
}
xhr.open(type, url, async);
type === "POST" ? xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded") : null;
xhr.send(type === "GET" ? null : formatData(data));
xhr.onreadystatechange = function () {
if(xhr.readyState === 4 && xhr.status === 200) {
success(JSON.parse(xhr.responseText));
} else if(xhr.status === 404) {
error();
}
complete();
}
}
return {
ajax(opt) {
_getData(opt);
},
get(url, cb) {
_getData({
url,
type: "GET",
success: cb
});
},
post(url, data, cb) {
_getData({
url,
data,
type: "POST",
success: cb
});
}
};
})(window);
封装ajax
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...