关于request. send()求助?
我在JavaScript Dom 编程艺术(第二版)中看到request. send()是用在onreadystatechange函数后的,而这里的第四个视频中老师放在了前面。
求解?个人倾向于书中的用法,不是应该在处理了onreadystatechange 函数后再发送请求吗?
谢谢。
我在JavaScript Dom 编程艺术(第二版)中看到request. send()是用在onreadystatechange函数后的,而这里的第四个视频中老师放在了前面。
求解?个人倾向于书中的用法,不是应该在处理了onreadystatechange 函数后再发送请求吗?
谢谢。
2017-10-17
let xhr=new XMLHttpRequest();
xhr.open('get','http://httpbin/get',true);
xhr.setRequestHeader("Content-Type","applaction/x-www-form-urlencoded");
xhr.onreadystatechange=()={
if(xhr.readyState==4&&xhr.status==200){
.....
}
}
一般都是这个顺序的吧。我看其他的教学视频上说
open()和send()是客户端向服务器端请求阶段,statu是服务器响应给客户端的状态码(状态码有5种,200就代表服务器响应成功了)。onreadystatechange函数是没当readystate改变时都会触发一次,当readystate=4且statu=200时证明服务器响应成功了。readystate就是请求阶段就包含五个状态(0,1,2,3,4),而open()和send()就是在这几个状态之中的,然后onreadystatechange函数不用关心客户端是否已经完成,只要readystate=4,state=200就可以用responsetext/responseXML获取到服务器响应的数据就行了,所以open()和send()并不用放到onreadystatechange函数中去。这是我的个人理解,如有错误欢迎指出。
举报