400 是 HTTP 的状态码,主要有两种形式:
1、bad request 意思是 "错误的请求";
2、invalid hostname 意思是 "不存在的域名"。
400 Bad Request 是由于明显的客户端错误(例如,格式错误的请求语法,太大的大小,无效的请求消息或欺骗性路由请求),服务器不能或不会处理该请求。
在 ajax 请求后台数据时比较常见。产生 HTTP 400 错误的原因有:
1、前端提交数据的字段名称或者是字段类型和后台的实体类不一致,导致无法封装;
2、前端提交的到后台的数据应该是 json 字符串类型,而前端没有将对象转化为字符串类型;
解决方案:
1、对照字段名称,类型保证一致性
2、使用 stringify 将前端传递的对象转化为字符串:
data: JSON.stringify(param);
自己出现过的一些400错误:
第一种:服务器返回的页面路径不存在
即 本来准备返回的是一个字符串,但是由于使用springmvc的视图解析器,还没有加上json格式的注解。
导致的400错误。
第二种:请求的格式与服务器接受的格式不匹配
即 springmvc的控制层接受的日期格式是 “yyyy/MM/dd”,但是前端提交的日期参数格式为 “yyyy-MM-dd”
会导致出现400错误。