在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 内部服务器错误