Ajax Ajax.Response - Prototype JavaScript 框架

Xunxin Prototype API

Ajax.Response
1.6

该对象被传递到所有 Ajax 请求回调中作为第一个参数。

这是一个针对原始 XmlHttpRequest 对象(或与之相对应的 ActiveX 控件)的封装。 它解决了跨浏览器的问题,并且通过 responseJSONheaderJSON 属性增加了对 JSON 的支持。
译注:Ajax.Request 其实也是封装 XmlHttpRequest。从命名上可以看出, Ajax.Request 用于处理请求,而 Ajax.Response 用于 处理响应。

Ajax.Response 对象的属性

属性类型描述
status Number 服务器发回的状态代码。
statusText String 服务器发回的 HTTP 状态文本。
readyState Number

请求的当前状态。0 对应 "Uninitialized"1 对应 "Loading"2 对应 "Loaded"3 对应 "Interactive"4 对应 "Complete"

译注:详细描述见:状态代码
responseText String 响应的文本主体内容。
responseXML document 对象null 如果请求的 content-type 值被设置为 application/xml,该属性获取响应文本内容作为 XML 呈现,否则为 null
responseJSON Object, Arraynull 如果请求的 content-type 值被设置为 application/json,该属性获取响应文本内容并转换为相应的数组或对象。 否则为 null
headerJSON Object, Arraynull 如果响应头中包含 X-JSON 头,则自动将其内容转换为对象或数组。否则为 null。这个属性常用于少量数据的处理。
request Object 请求对象本身(一个 Ajax.RequestAjax.Updater 的实例)。
transport Object 原始的 xmlHttpRequest 对象引用。

Ajax.Response 对象的方法

方法返回类型描述
getHeader(name) Stringnull 如果存在指定的头,则返回其值,否则为 null。未定义头时,它不会像原生的 XHR 对象一样抛出异常。
getAllHeaders() Stringnull 返回包含所有响应头的字符串,头与头之间用换行符(\r\n)分隔(译注:每个 Http 头名称和值用冒号分隔)。当不存在响应头时,它不会像原生的 XHR 对象一样抛出异常。
getResponseHeader(name) String 如果存在指定的头,则返回其值。否则抛出一个异常。这仅只是对 XmlHttpRequest 对象 getResponseHeader 方法的简单封装。推荐使用更简捷的 getHeader 方法。
getAllResponseHeaders() String 返回包含所有响应头的字符串,头与头之间用换行符(\r\n)分隔。当不存在任何响应头时,抛出异常。 这仅只是对 XmlHttpRequest 对象 getAllResponseHeaders 方法的简单封装。推荐使用更简捷的 getAllHeaders 方法。