function ajax(options) {
if(typeof options != ‘object’) {
return;
}
var data = ‘’;
for(var k in options.data) {
dataStr+=k+"="+options.data[k]+"&";
}
dataStr =dataStr.slice(0,1);
if(options.dataType==“jsonp”) {
//jsonp跨域编码
}else {
// ajax编码
var xhr = new XMLHttpRequest(); //前端与后端进行数据数据交换的一个方法对象
//请求地址 options.type==“get”?options.url+"?"+dataStr : options.url
// 1.请求方式 2.请求地址 3.是否异步
xhr.open(options.type,options.type==“get”?options.url+"?"+dataStr : options.url,options.async);
xhr.send(options.type=="get"?null:dataStr); // 发送请求主体 如果是get===null 否则post===带参数
xhr.onreadstatechange=function() {
if(xhr.readState==4 && xhr.status==200) {
// Content-Type 这个属性值在响应头
var contentType = xhr.getResponseHeader("Content-type");
var result = "";
if(contentType.indexOf("xml")>-1) {
result=xhr.responseXML;
} else if(contentType.indexOf("json")>-1) {
result=JSON.parse(xhr.responseText);
} else {
result=xhr.responseText;
}
if(options.success) { //如果存在这个回掉函数
options.success(result); //把响应回来的数据,传给这个回调函数
}
}else if(xhr.readyState==4) {
if(options.error) {
options.error("请求失败")
}
}
}
}
}