我的 onreadystatechange 回调中的 readyState 似乎停留在 1。
let req
function reloadData(){
let now = new Date()
url = 'liveData?' + now.getTime()
try {
req = new XMLHttpRequest()
} catch (e) {
try {
req = new ActiveXObject("Msxml2.XMLHTTP")
} catch (e) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP")
} catch (oc) {
alert("No AJAX Support")
return
}
}
}
req.onreadystatechange = processData
req.open("GET", url, true)
req.send(null)
}
function processData(){
alert(req.readyState)
// If req shows "complete"
if (req.readyState == 4){
dataDiv = document.getElementById('currentData')
// If "OK"
if (req.status == 200)
{
// Set current data text
dataDiv.innerHTML = req.responseText
}
else
{
// Flag error
dataDiv.innerHTML = '<p>There was a problem retrieving data: ' + req.statusText + '</p>'
}
}
}
请求本身有效,我在 /liveData 收到请求时记录,我也收到该日志。我没有错误,并且警报本身可以正常工作,因此可以正确调用,但是 readyState 始终为 1。