XMLHttpRequest中的DONE,HEADERS_RECEIVED,LOADING,OPENED,UNSENT

在JS中,readyState的不同值,代表了不同的状态:

0:尚未初始化 对应 XMLHttpRequest.UNSENT
1:正在加载 对应 XMLHttpRequest.OPENED
2:加载完毕 对应 XMLHttpRequest.HEADERS_RECEIVED
3:正在处理  对应 XMLHttpRequest.LOADING
4:处理完毕  对应 XMLHttpRequest.DONE

测试其对应的值完整实例test.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div>
    <button id="button1">test</button>
</div>
<div id="target">
    press a button
</div>
<script>
    let button1 = document.getElementById('button1');
    button1.onclick = handleButtonPress;
    function handleButtonPress(e) {
        document.getElementById('target').innerHTML = XMLHttpRequest.OPENED;
    }
</script>
</body>
</html>

当其变为4, 就可以访问从服务器返回的数据了。

一般JS判断网页加载完毕可采用:

if (e.target.readyState == XMLHttpRequest.DONE && e.target.status == 200){
    doSomthing;
}

另附http请求相应代码

200 请求成功
202 请求被接受但处理未完成
400 错误请求
404 请求资源未找到
500 内部服务器错误
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页