ajax原理和readyState状态码

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;
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值