xmlhttp.onreadystatechange = function()
{
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
{
document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
}
}上面的代码来自:http://www.w3schools.com/ajax/ajax_xmlhttprequest_onreadystatechange.asp。
问题:
根据本教程:
readyState: 4: request finished and response is ready
status: 200: "OK"
When readyState is 4 and status is 200, the response is ready:既然xmlhttp.readyState == 4,response已经准备好了,为什么我们还需要xmlhttp.status == 200呢?xmlhttp.readyState == 4和xmlhttp.status == 200之间的区别是什么
发布于 2013-07-10 10:27:13
响应的状态xhr.status (通常)用于确定请求是否成功。xhr.readyState只是用来判断请求的状态,比如“尚未发送”(0)、“完成并收到响应”(4)等。
服务器负责提供status,而用户代理提供readyState。
发布于 2013-07-10 10:26:15
状态指示服务器响应是否正常。
总而言之,当你得到一个状态时
500 - 599:服务器出现错误
400 - 499:这是一个客户端错误(例如:找不到404页)
300 - 399:随后存在重定向
200 - 299:,那么它是正确的
100 - 199:表示信息消息
然后status==200会给你一条消息,服务器会说:‘嘿,伙计,我来做工作!’
发布于 2014-09-29 01:55:12
我的类比是:一辆载着病人的急救车要去hospital.In,这种情况下,家庭(客户端)和医院(服务器)需要跟踪两件事
在此process.(status)期间,
readyState)如果是readyState === 4和status === 200,意味着一切都是right.In,就像ajax调用一样。
https://stackoverflow.com/questions/17561463
复制相似问题