ajax处理响应

Posted Sarah119

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax处理响应相关的知识,希望对你有一定的参考价值。

    一旦脚本调用了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处理响应的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Flux 架构中处理 ajax 请求响应?

如何以正确的方式处理 submit() 中的 ajax 响应?

JSON 响应 Ajax 调用的正确状态代码?

在 jQuery ajax 调用中处理来自服务器端的响应

你如何在 python 中处理 graphql 查询和片段?

html PHP代码片段: - AJAX基本示例:此代码演示了使用PHP和JavaScript实现的基本AJAX功能。