400 是 HTTP 的状态码 主要有两种形式:

  • 1、bad request 意思是 "错误的请求";
  • 2、invalid hostname 意思是 "不存在的域名"。

400 Bad Request 是由于明显的客户端错误(例如 格式错误的请求语法 太大的大小 无效的请求消息或欺骗性路由请求) 服务器不能或不会处理该请求。

nginx-bad-request-error-.png

在 ajax 请求后台数据时比较常见。产生 HTTP 400 错误的原因有:

  • 1、前端提交数据的字段名称或是字段类型和后台的实体类不一致 导致无法封装;
  • 2、前端提交的到后台的数据应该是 json 字符串类型 而前端没有将对象转化为字符串类型;

解决方案:

  • 1、对照字段名称 类型保证一致性

  • 2、使用 stringify 将前端传递的对象转化为字符串:

    data: JSON.stringify(param);

更多内容可以查看:

HTTP 状态码

JSON.stringify()