2.1.2 XMLHttpRequest对象的属性
2.1.2 XMLHttpRequest对象的属性
XMLHttpRequest
对象常用的属性如下:
readyState属性
readyState
:该属性用于获取XMLHttpRequest
对象的处理状态.
readyState 属性值 |
描述 |
---|---|
0 | XMLHttpRequest 对象还未开始发送请求 |
1 | XMLHttpRequest 对象开始发送请求 |
2 | XMLHttpRequest 对象的请求发送完成 |
3 | XMLHttpRequest 对象开始读取服务器的响应 |
4 | XMLHttpRequest 对象读取服务响应结束 |
响应相关属性
responseType属性
responseType
:该属性用于设置服务器返回的响应类型。
response属性
response
:该属性用于获取服务器响应。不同responseType
对应的response
如表2.2所示。
reponseType属性 | response属性 |
---|---|
"" |
response 属性返回DOMString ,默认 |
"arraybuffer" |
response 属性返回ArrayBuffer 二进制数据 |
"blob" |
response 属性返回Blob 对象 |
"document" |
response 属性返回Document 对象,与responseXML 返回值相同 |
"json" |
response 属性返回JavaScript 对象,该对象通过解析服务器响应的JSON 字符串得到 |
"text" |
response 属性返回DOMString ,默认 |
responseText
:该属性用于获取服务器的响应文本。responseXML
:该属性用于获取服务器响应的XML
文档对象。responseURL
:该属性返回服务器响应来自的URL
。
响应状态
status
:该属性是服务器返回的状态码,只有服务器的响应已经完成时,才会有该状态码。statusText
:该属性是服务器返回的状态文本信息,只有当服务器的响应已经完成时,才会有该状态文本信息。
服务器响应状态码
通过检测XMLHttpRequest
对象的status
属性,即可判断服务器的响应是否正常。当服务器的响应正常时,JavaScript
才应该读取服务器响应信息,并将响应信息动态加载到目标页面。服务器常用的状码及其对应的含义如下。
200
:服务器响应正常。304
:该资源在上次请求之后没有任何修改。这通常用于浏览器的缓存机制,使用GET
请求时尤其需要注意。400
:无法找到请求的资源。401
:访问资源的权限不够。403
:没有权限访问资源。404
:需要访问的资源不存在。405
:需要访问的资源被禁止访问。407
:访问资源需要代理身份验证。414
:请求的URL
太长。500
:服务器内部错误。
发送相关属性
timeout
:设置XMLHttpRequest
对象发送请求的超时时长,以ms
为单位。ontimeout
:绑定事件处理函数的属性。该属性用于指定XMLHttpRequest
对象发送请求超时后触发的事件处理函数。upload
:该属性返回XMLHttpRequest
对象的上传进度。通过为该对象的progress
事件注册事件处理函数,可以实时监听XMLHttpRequest
对象的上传进度。
其他属性
withCredentials
:该属性设置跨站点访问的请求是否应该使用安全凭证(如Cookie
、授权头或TLS
客户端证书等)。设置该属性对相同站点的请求不会有任何影响。
响应处理流程
如果想通过JavaScript
获取服务器响应,只要为XMLHttpRequest
对象的load
事件注册事件处理函数即可。获取服务器响应之后,还应判断服务器响应是否正确,要判断服务器响应是否正确,可判断XMLHttpRequest
对象的status
属性。当status
值为200时,服务器响应正确,否则响应不正常。