文章来源于李刚《疯狂Ajax讲义(第二版)》
1、什么是服务器响应状态码?
最常见的就是404,404示资源不存在——即使资源不存在,服务器一样会生成响应。也就是说, 即使程序判断XMLHttpRequest的readyState为4, 服务器响应已经完成, 但从服务器获取的响应信息依然有可能是错误的.
2、XMLHttpRequest对象的处理状态readyState是什么?
XMLHttpRequest 对象的状态信息可通过readyState属性读取,状态信息有如下几种情况:
- 0 XMLHttpR问uest对象还没有完成初始化。
- 1 XMLHttpRequest对象开始发送请求。
- 2 XMLHttpRequest对象的请求发送完成。
- 3 XMLHttpRequest对象开始读取服务糕的响应.
- 4 XMLHttpRequest对象读取服务器响应结束。
3、 XMLHttpRequest对象的处理状态与服务器响应状态码的关系:
readyState属性表示XMLHttpRequest对象读取服务器响应的状态,而服务器响应状态码表示服务器生成的响应信息,此信息可通过XMLHttpRequest的status或statusText属性获取。
4、通过检测XMLHttpRequest对象的status和statusText属性,即可判断服务器的响应是否正常。当服务器的响应正常时, JavaScript才应该读取服务器响应信息,并将响应信息动态加就到目标页面。
服务器:常用的状态码及其对应的含义如下:
- 200: 服务器响应正常。
- 304: 该资源在上次请求之后没有任何修改, 这通常用于浏览器的缓存机制。使用GET 请求时尤其需要注意。
- 400: 无法找到请求的资源。
- 401: 访问资源的权限不够.
- 403: 没有权限访问资源。
- 404: 需要访问的资源不存在。
- 405: 需要访问的资源被禁止。
- 407: 访问的资源需要代理身份验证.
- 414: 请求的URL太长。
- 500: 服务器内部错误。