在前后端的交互过程中,ajax是一个常用的手段,但是其使用方法比较繁琐,所以封装一个惯用的方法。通常前后端交互的方法有get和post方式,今天就ajax在两种方式交互数据的情况下,总结两种封装方法:
1.ajax的get封装
function ajaxGet(url,cb,data){
data = data || {};
var str = "";
for(var i in data){
str += i + "=" + data[i] + "&";
}
url = url + "?" + str + "__js=" + (new Date()).getTime();
var ajax = new XMLHttpRequest();
ajax.open("get",url,true);
ajax.onreadystatechange = function(){
if(ajax.readyState == 4 && ajax.status == 200){
cb(ajax.responseText);
}
}
ajax.send();
}
2.ajax的post封装
function ajaxPost(url,cb,data){
data = data || {};
var str = "";
for(var i in data){
str += `${i}=${data[i]}&`;
}
str = str.slice(0,str.length-1);
var ajax = new XMLHttpRequest();
ajax.open("post",url,true);
ajax.onreadystatechange = function(){
if(ajax.readyState == 4 && ajax.status == 200){
cb(ajax.responseText);
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send(str);
}
以上封装方法仅是个人的平时总结,若有不足或者错误之处,欢迎大家指出......