//创建函数,需传入的参数:请求方式,请求接口地址,请求参数,请求成功回调函数,请求失败回调函数
function ajaxFun(method,url,data,successFn,failFn){
//1、浏览器器适配,根据浏览器的支持情况创建XMLHttpRequest对象
var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
//2、判断请求方式的类型(为了方便判断,把method的字母全部转换为大写)
upperMethod = method.toUpperCase();
if(upperMethod == "GET"){
//2.1、请求方式为get时,配置请求参数,并发送请求
xhr.open(upperMethod,url+"?"+data,true); //"?"为参数链接符
xhr.send(null); //最好写null,不写也可以
}else if(upperMethod == "POST"){
//2.2、请求方式为post时,配置请求参数,并发送请求
xhr.open(upperMethod,url,true);
xhr.send(data);
}else{
//2.3、如果传入的请求方式不是get或post,则打印错误,并关闭函数的执行
console.error("请求参数错误,必须是get或post");
return;
}
//3、监听服务器响应,根据服务器传回来的信息执行不同的调用函数
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
successFn(xhr.responseText)//如果服务器是xml文件,则是xhr.responseXML
}else if(xhr.readyState == 4){
fialFn("请求出错")
}
}
}