在使用ajax请求时请求完成时不管成功或者失败,都会有一个状态码,这个状态码是我们查错的主要方法之一,也是首要方法。它最直观地反应了这次请求的大致问题的所在(在服务器还是浏览器)。但是,状态码并不是百分百正确! 状态码大致分为:
- 1XX(接收的请求正在处理)
- 2XX(请求正常处理完毕)
- 3XX(重定向)
- 4XX(无法处理请求)
- 5XX(服务器请求出错)
1. 1XX
信息正在处理,一般不会返回1开头的状态码。
2. 2XX
表示请求成功。
2.1 200
200 最常出现的状态码,表示请求正常执行,并成功返回。
2.2 204
204 请求成功,但是无返回结果。(非故障,只是服务器不需要返回结果时出现)
2.3 206
206 请求成功,只对部分请求,不常出现。
3. 3XX
表示资源重定向
3.1 301
表示资源分配了新的地址(新的URI),永久重定向。location会保存新的URI
3.2 302
表示资源暂时(仅本次)被分配了新的地址,临时重定向。location不会保存新的信息,第二次依然会已旧的URI为准。
3.3 303
与302有相同的意思,但是它额外地表示了客户端应当用GET请求来获取数据,而不是POST。
3.4 304
服务器允许了请求,但是未找到符合条件的数据,或者未满足条件,转而使用客户端没有过期的缓存。
4. 4XX
客户端发生了错误!
4.1 400
请求的报文中存在语法错误。可能是字段未对齐或者字段类型不一致!尤其注意date格式,前台发送的只能是string类型,后台若为经过处理直接获取date类型,很可能出现400报错。
4.2 401
用户未通过http认证。
4.3 403
向服务器请求资源被拒绝,或未获得系统的授权。
##5.5XX 服务器发生了错误!
5.1 500
服务器内部出现bug或临时故障。
5.2 503
服务器超负载或者正处于停机维护状态。