XMLHttpRequest.readyState = 4,表示什么意思?

在前端开发中,我们经常会使用XMLHttpRequest对象(也称为XHR)来发送异步HTTP请求。当我们调用XHR对象的send方法后,该方法会返回一个XMLHttpRequest.readyState属性值,该值表示请求的状态。

XMLHttpRequest.readyState的取值

XMLHttpRequest.readyState共有5个可能的取值:

  • 0:请求未初始化,即尚未调用open()方法。
  • 1:服务器连接已建立,但是尚未发送请求。open()方法已经调用了。
  • 2:请求已接收,但是尚未开始处理。send()方法已经调用了,并且头部和状态已经可获得。
  • 3:请求处理中,通常响应体部分已经被接收。
  • 4:请求已完成,且响应已就绪。此时可以获取响应数据。

其中,XMLHttpRequest.readyState等于4时代表请求已完成,这是我们最常使用的状态。

XMLHttpRequest.readyState等于4时可以做什么?

当我们的请求状态变成XMLHttpRequest.readyState等于4时,我们可以通过XMLHttpRequest对象的status和responseText属性获取相应的状态码和响应内容。

下面是一个简单的示例,展示如何监听XMLHttpRequest对象的readyState属性并处理它的变化:

----- --- - --- -----------------
---------------------- - -------- -- -
  -- --------------- -- - -- ---------- -- ---- -
    ------------------------------
  -
--
--------------- --------------------------------------------- ------
-----------

在上面的代码中,我们创建了一个XMLHttpRequest对象,并将其的onreadystatechange事件处理程序设置为一个匿名函数。当readyState的值变成4时,我们检查响应的状态码是否为200,如果是,则可以使用xhr.responseText获取响应内容。

总结

XMLHttpRequest.readyState等于4时代表请求已完成,此时可以通过XMLHttpRequest对象获取响应数据。在实际开发中,我们可以根据这个状态来判断请求是否成功,并采取相应的处理措施。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/10964