手写ajax

一、手写ajax
共5个步骤,创建xhr实例,创建http请求,

//1、创建一个XMLHttpRequest对象的实例,即创建一个异步调用对象
var xhr = new XMLHttpRequest();//用户把请求交给xhr,xhr把请求提交给服务器,处理后,服务器把响应数据给xhr对象,xhr对象接收数组后,由js把数据写到页面
//2、创建HTTP请求,可以使用XMLHttpRequest的open方法
xhr.open('GET','baidu.com',true);//默认该请求是异步
//3、设置响应HTTP请求状态变化事件的回调函数
xmlHttpRequest.onreadystatechange = getData;//readystatechange事件
//定义回调函数,无参数
function getData(){
    //判断XMLHttpRequest对象的readyState属性值是否为4,如果为4表示异步调用完成
    if(xmlHttpRequest.readyState == 4) {
        //4、设置获取服务器返回数据的语句
        if(xhr.status==200){
            //得到返回结果,对返回结果做一些操作
            //比如写入dom中
            document.write(xhr.response)
        }
    }
}
//5、发送HTTP请求到web服务器上
XMLHttpRequest.send(data=null);
//6、在通过Ajax的异步调用获得服务器端数据之后,可以使用JavaScript或DOM来将网页中的数据进行局部更新。

二、ajax 的 readyState 有哪几个状态,含义分别是什么?
(1)定义
ajax 的 readyState:运行AJAX所经历过的几种状态,无论访问是否成功都将响应的步骤,可以理解成为AJAX运行步骤。如:正在发送,正在响应等,由AJAX对象与服务器交互时所得;使用“ajax.readyState”获得。(由数字0~4单位数字组成)
(2)ajax运行的各个过程的值和含义
0 - (未初始化)还没有调用send()方法,在定义后自动具有的状态值
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了,对于成功访问的状态(得到信息)我们大多数采用“4”进行判断。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值