JS异步编程 XHR的用法

 var xhr = createXHR();
            // open函数接受三个参数,第一个参数是发送请求的类型,第二个是请求的地址,第三个是是否以异步的形式发送请求
            //url是相对于执行页面的相对路径,当然绝对路径也可以,调用 open方法并不会真正发送请求,要发送请求需要使用send方法
            xhr.open("get", "example.aspx", false);
            //发送请求
            xhr.send(null);
            //收到响应,响应的数据会自动填充到XHR对象的属性,
            //responseText:作为响应的主体被返回的文本
            //responseXML:如果响应的类型是“text/xml”或者“application/xml”,这个属性保存包含着响应数据的xml dom 文档
            //status :响应的http状态
            //statusText:http状态说明

//xhr的readyState属性,表示请求/响应过程的当前活动阶段

0:代表未初始化。尚未调用open()方法

1:启动,已经调用open()方法,但是没有调用send方法

2:发送,已经调用send()方法,但是没有收到响应

3:接收,已经接收部分响应数据

4:完成,已经接收到全部响应数据,而且可以在客户端上使用

只要readyState属性从一个值变到另外一个值,都会触发readystatechange事件

if (xhr.readyState == 4) {
                //判断状态码是否正常
                //正常,则调用回调函数
                if (xhr.status == 200)

       {

        //执行回调函数

           }
             
                }

posted on 2015-12-09 23:05  iamrenpeng  阅读(2477)  评论(0编辑  收藏  举报

导航