AJAX的get请求原生编写方法:
1 var xhr=new XMLHttpRequest(); 2 xhr.onreadystatechange=function(){ 3 if(xhr.readyState===4){ 4 if(xhr.status===200){ 5 // 响应完成并且成功 6 }else{ 7 // 响应完成但有问题 8 } 9 }10 };11 xhr.open('GET','x.php?k1=v1&k2=v2&k3=v3',true);12 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请求原生编写方法:
1 var xhr=new XMLHttpRequest(); 2 xhr.onreadystatechange=function(){ 3 if(xhr.readyState===4){ 4 if(xhr.status===200){ 5 // 响应完成并且成功 6 }else{ 7 // 响应完成但有问题 8 } 9 }10 };11 xhr.open('POST','x.php',true);12 xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');//修改请求消息的头部13 xhr.send('k1=v1&k2=v2&k3=v3');