AJAX的get和post请求原生编写方法

时间:2024-01-11 09:06:02
AJAX的get请求原生编写方法:
 var xhr=new XMLHttpRequest();
xhr.onreadystatechange=function(){
if(xhr.readyState===4){
if(xhr.status===200){
// 响应完成并且成功
}else{
// 响应完成但有问题
}
}
};
xhr.open('GET','x.php?k1=v1&k2=v2&k3=v3',true);
xhr.send(null);
/***
xhr.open()方法参数:
1.要发送请求的类型
2.URL相对于执行代码的当前页面(绝对路径也可以)
3.是否异步发送请求的布尔值
xhr.send()方法接收的一个参数表示'作为请求主体发送的数据’,
如果不需要通过请求主体发送数据,则必须传入null,这个参数是必须的
 true:是否异步
status:响应的HTTP状态
readyState:xhr对象的readyState属性表示请求/响应过程的当前活动阶段。
0 表示未初始化。尚未调用open()方法;
       1 表示启动。已经调用open()方法,但尚未调用send()方法;
       2 表示发送。已经调用send()方法,但尚未接收到响应;
       3 表示接收。已经接收到部分响应数据;
       4 表示完成。已经接收到全部响应数据,而且已经可以在客户端使用。
***/ AJAX的post请求原生编写方法:
 var xhr=new XMLHttpRequest();
xhr.onreadystatechange=function(){
if(xhr.readyState===4){
if(xhr.status===200){
// 响应完成并且成功
}else{
// 响应完成但有问题
}
}
};
xhr.open('POST','x.php',true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');//修改请求消息的头部
xhr.send('k1=v1&k2=v2&k3=v3');