function ajax(options){
var defaults = {
type: 'get',
header: {
'Content-Type': 'application/x-www-form-urlencoded'
},
date: {},
url: '',
success: function() {},
error: function() {}
}
Object.assign(defaults,options);
var xhr = new XMLHttpRequest();
var parmgs = '';
for(var k in defaults.date){
parmgs += k + '=' + defaults.date[k] + '&';
}
parmgs = parmgs.substr(0,parmgs.length - 1);
if(defaults.type == 'get'){
defaults.url += '?' + parmgs;
}
xhr.open(defaults.type,defaults.url);
if(defaults.type == 'post'){
var contentType = defaults.header['Content-Type'];
xhr.setRequestHeader('Content-Type',contentType);
if(contentType == 'application/json'){
xhr.send(JSON.stringify(defaults.date))
}else{
xhr.send(parmgs);
}
}else{
xhr.send();
}
xhr.onload = function() {
var contentType = xhr.getResponseHeader('Content-Type');
var responseText = xhr.responseText;
if(contentType.includes('application/json')){
responseText = JSON.parse(responseText);
}
if(xhr.status == 200){
defaults.sucess(responseText,xhr);
}else{
defaults.error(responseText,xhr);
}
}
}
封装一个Ajax
最新推荐文章于 2024-07-18 10:24:18 发布