XMLHttpRequest 中的不同就绪状态是什么意思,我该如何使用它们?
2022-08-30 05:33:59
XMLHttpRequest
有5秒,我只使用其中的1个(最后一个)。。readyState
4
其他的用途是什么,我可以在哪些实际应用中使用它们?
XMLHttpRequest
有5秒,我只使用其中的1个(最后一个)。。readyState
4
其他的用途是什么,我可以在哪些实际应用中使用它们?
完整的值列表是: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 实现可以让您在 when 中看到部分收到的响应,但这并非普遍支持,也不应依赖。responseText
readyState==3
kieron的答案包含没有人依赖的w3schools引用,bobince的答案给出了链接,这实际上告诉了IE的本机实现,
所以这里引用的原始文件,以正确理解readystate代表什么:
XMLHttpRequest 对象可以处于多种状态。readyState 属性必须返回当前状态,该状态必须是以下值之一:
取消发送(数值 0)
已构造对象。OPENED(数值 1)
已成功调用 open() 方法。在此状态下,可以使用 setRequestHeader() 设置请求标头,并且可以使用 send() 方法发出请求。HEADERS_RECEIVED(数值 2)
已遵循所有重定向(如果有),并且已收到最终响应的所有 HTTP 标头。该对象的几个响应成员现在可用。加载(数值 3)
正在接收响应实体正文。DONE(数值 4)
数据传输已完成或在传输过程中出现问题(例如,无限重定向)。
请阅读这里: W3C对ReadyState的解释