我在W3school自学AJAX,目前学到readyState这节。
有两个问题:
1.我不太理解readyState代表的是服务器的状态,还是浏览器的状态?
2.如果readyState为4的时候,代表“请求已完成,且响应已就绪”,那就应该可以使用responseText了吧,为什么还要加上status==200?
谢谢!
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{//既然readyState==4代表请求完成 那为何还要status==200?
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
理解的顺序换一下,先看
xhr.status==200
代表的意思,代表的是你从服务器中成功请求到了内容。之后再来看readyState
,因为请求成功的时候(xhr.status==200),内容不一定就可以在浏览器访问了,这时候我再附加一个条件,只有内容能在浏览器上访问(readyState==4)的时候再来操作。我觉得理解的顺序应该是这样的