function ajax(method,url,parms,callback) { // 参数 请求方式,请求地址,数据,回调函数
method = method.toUpperCase(); // 请求方式转换为大写形式
var xhr = new XMLHttpRequest();
if(typeof(parms == Object)){ // 便于使用 可以传对象类型的数据
var tempArr = [];
for(var key in parms){
var value = parms[key];
tempArr.push(key + "=" + value);
}
parms = tempArr.join('&'); // 把对象类型的数据 转换为 urlencoded类型 {key1: 'value1',key2: 'value2'} => key1=value1&key2=value2
}
if(method === 'GET'){
url += '?' + parms; // get类型的请求可以直接在后面用 ? 加上要请求的内容
}
xhr.open(method, url);
var data = null; // 当为get类型的请求时 发送内容为null
if(method == 'POST'){
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // 设置请求头
data = parms; // 当为 post 类型的请求时 数据为传递的数据
}
xhr.onreadystatechange = function () {
if (this.readyState !== 4) {
return
}
callback(this.responseText); // 回调函数 由调用者使用
};
xhr.send(data);
}
~~~
封装一个基础的ajax请求
最新推荐文章于 2019-11-07 20:04:00 发布