📜  readystate==4 - Javascript (1)

📅  最后修改于: 2023-12-03 15:19:46.804000             🧑  作者: Mango

Javascript中的readystate属性

在Javascript中,XMLHttpRequest对象有一个readystate属性,它用于表示请求的状态。当一个请求被发送时,Javascript会自动更新这个属性的值,直到请求完成。readystate共有5种取值,分别为0、1、2、3、4。

  • 当readystate的值为0时,表示请求未初始化。此时XMLHttpRequest对象已经创建,但是尚未调用open()方法,也就是说还没有开始发送请求。这是XMLHttpRequest对象刚刚创建时的初始状态。

  • 当readystate的值为1时,表示请求正在发送。此时open()方法已经被调用,但是send()方法还没有被调用。

  • 当readystate的值为2时,表示请求已经发送完成。此时send()方法已经被调用,并且服务器已经收到请求。但是服务器还没有开始响应。

  • 当readystate的值为3时,表示请求正在接受响应。此时服务器已经开始响应,但是响应还没有被完全接收。

  • 当readystate的值为4时,表示请求已经完成响应。此时响应已经被完全接收,且已经可以使用XMLHttpRequest对象的响应数据。

xhr.onreadystatechange = function() {
    if (xhr.readyState == 4 && xhr.status == 200) {
        console.log(xhr.responseText);
    }
};

上面的代码展示了如何使用readystate属性。当XMLHttpRequest对象的状态发生变化时,onreadystatechange事件会被触发。我们可以在这个事件的回调函数中判断readystate的值,以确定请求的状态。

值得注意的是,当readystate的值为4时,并不意味着请求一定成功。我们仍然需要用status属性来判断服务器返回的状态码,以确定请求是否成功。