学而实习之 不亦乐乎

HTTP 状态码:400

2023-08-09 07:48:45

一、概述

通常 4** 的错误是客户端错误,请求包含语法错误或无法完成请求。如:

  1. 语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。
  2. 请求参数有误。

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

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

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

二、常见问题

400 状态码在 ajax 请求后台数据时比较常见。如:

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

解决方案:

  1. 对照字段名称,类型保证一致性
  2. 使用 stringify 将前端传递的对象转化为字符串:
data: JSON.stringify(param);