1.创建XmlHttpRquest对象 用于与服务器交换数据 相当于创建http请求的一个对象
var xhr=new XMLHttpRequest();
2.规定请求的类型(get post),url地址,以及是否异步处理请求(布尔值),默认为true
open() 相当于与服务器建一个特定的端口的链接
xhr.open("get","./test.txt");// ./test.txt获取内容的地址
3.将请求发送到服务器,开始请求 send()
xhr.send();
4.等待响应,----因为不知道服务器什么时候才能返回我们需要的响应,要采用事件的机制去触发
xhr.onreadystatechange=function () {
console.log("11");//这个不是在响应时触发。在状态改变的时候触发
console.log(this.readyState);//2,3,4
//响应已就绪,则可以获取响应的数据
if (this.readyState==4){
console.log(this.responseText);//获取响应文本
document.getElementsByTagName("body")[0].innerHTML=this.responseText;
}
}
readystate状态码
var xhr=new XMLHttpRequest();
console.log(xhr.readyState);// 0 请求未初始化
xhr.open('get',"test.txt");
console.log(xhr.readyState);// 1 服务器已建立连接
xhr.send();
console.log(xhr.readyState);// 1 服务器已建立连接
xhr.onreadystatechange=function () {
switch (this.readyState) {
case 2://请求已接收
//获取响应报文里面的响应头
console.log(this.getAllResponseHeaders())//获取全部的响应头
console.log(this.getResponseHeader("server"))//指定的
console.log(this.responseText);//获取相应的文本内容
break;
case 3://请求处理中:可能内容不完整
console.log(this.responseText);
break;
case 4://整个响应的内容已经完整的下载下来了
console.log(this.responseText);
break;
}
}