let xhr = new XMLHttpRequest();
xhr.open(请求方式,地址,true) 默认 true 异步 请求方式 get 传参参数绑在地址后面 post 传参 参数放在 send() 方法中
xhr.send() // post xhr.send( 参数) send 中的参数只能是字符串
xhr.onreadystatechange=()=>{
//readyState 0: 初始化请求 1: 建立连接 2: 请求发送成功 3: 服务器接收你的请求并处理 4: 服务器返回数据,结束响应
if(xhr.readyState ===4){
//status 状态 200 成功
if(xhr.status===200){
//xhr.responseText 服务端给你返回的数据
// console.log(xhr.responseText)
}
}
}
xhr.setRequestHeader("content-type","application/json") application/x-www-form-urlencoded
function createXml(){
let xmlHttp;
if (window.XMLHttpRequest) {xmlHttp = new XMLHttpRequest();
} else if (window.ActiveXObject) { // 兼容 IE
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
return xmlHttp;
}
function ajaxFn(type,url,data){
// 请求初始化 创建请求体
let xhr = new XMLHttpRequest();
// let xhr = createXml();
// 设置请求方式 请求地址
xhr.open(type,url);
if(type==='get'){
// 发送
xhr.send();}else if(type === 'post'){
// 设置请求头 字符串 /json 格式;
if(typeof data =="object"){xhr.setRequestHeader("content-type","application/json")//JOSN.stringify({a:1,b:2,c:3})
xhr.send(JSON.stringify(data));
}else{xhr.setRequestHeader("content-type","application/x-www-form-urlencoded")// a=1&b=2&c=3
xhr.send(data);
}
}
// 监听
xhr.onreadystatechange=()=>{if(xhr.readyState == 4 && xhr.status == 200){alert(xhr.responseText);
}
}
}