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错误。

更多推荐

AJAX请求400错误