码迷,mamicode.com
首页 > Web开发 > 详细

ajax处理响应(三)

时间:2018-01-01 23:29:40      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:inner   事件   属性   ready   调用   done   后台   enter   cti   

    一旦脚本调用了send方法,浏览器就会在后台发送请求到浏览器。因为请求是在后台处理的,所以Ajax依靠事件来通知你这个请求的进度的进展情况,在上个随笔的里,使用handleResponse函数处理这些事件:

  function handleResponse(e){
                if(e.target.readyState==XMLHttpRequest.DONE&&e.target.status==200){
                    document.getElementById("target").innerHTML=e.target.responseText;
                }
            }

当readystatechange事件被触发后,浏览器会把一个Event对象传递给指定的处理函数。这个event对象的target属性则会被设为与此事件关联的XMLHttpRequest。多个不同阶段会通过readystatechange事件作为传递信号,你可以读取XMLHttpRequest,readyState属性的值来确定当前处理的是哪一个。下表展示了这个属性的各个值。

XMLHttpRequest readyState属性值
数值 说明
UNSENT 0 已创建XMLHttpRequest对象
OPENED 1 已调用open方法
HEADERS_RECEIVED 2 已收到服务器响应的标头
LOADING 3 已收到服务器响应
DONE 4 响应完成或已失败

DONE状态并不意味着请求成功,它只代表请求已经完成。可以通过status属性获得HTTP状态码,它会返回一个数值(比如200代表成功)。只有结合readyState和status属性的值才能够确定响应的请求的结果。只有当readyState的值为DONE并且status的值为200时用XMLHttpRequest.responseText属性获得服务器发送的数据,就如 document.getElementById("target").innerHTML=e.target.responseText;responseText属性会返回一个字符串,代表从服务器上取回的数据。

ajax处理响应(三)

标签:inner   事件   属性   ready   调用   done   后台   enter   cti   

原文地址:https://www.cnblogs.com/Sarah119/p/8168883.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!