Answers:
readyState
值的完整列表为:
State Description
0 The request is not initialized
1 The request has been set up
2 The request has been sent
3 The request is in process
4 The request is complete
(来自https://www.w3schools.com/js/js_ajax_http_response.asp)
实际上,除了4之外,几乎几乎不使用它们中的任何一个。
一些 XMLHttpRequest实现可能会让您在responseText
when中看到部分接收到的响应readyState==3
,但这不是普遍支持的,因此不应依赖。
kieron的答案包含w3schools参考。bobince的答案给了没有人依靠的 链接,它实际上告诉IE的本机实现,
所以这里是引用原始文档以正确理解readystate表示的内容:
XMLHttpRequest对象可以处于几种状态。readyState属性必须返回当前状态,该状态必须是以下值之一:
UNSENT(数值0)
已构造对象。OPENED(数值1)
已成功调用open()方法。在此状态期间,可以使用setRequestHeader()设置请求标头,并可以使用send()方法进行请求。HEADERS_RECEIVED(数值2)
已遵循所有重定向(如果有),并且已收到最终响应的所有HTTP标头。该对象的几个响应成员现在可用。LOADING(数值3)
正在接收响应实体主体。已完成(数值4)
数据传输已完成或在传输过程中出了点问题(例如,无限重定向)。
请在这里阅读:ReadyState的W3C说明
(来自https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest/readyState)