前端POST请求后端登录接口返回400(Bad Request)错误求助
前端调用登录接口返回400 Bad Request,但Postman测试正常
我搭建了一个包含多个服务的小型后端,其中有个login服务,接收email和password参数后返回登录成功消息。这个服务用Postman测试完全正常,但从前端调用时一直收到错误:
POST http://localhost:8000/api/auth/login 400 (Bad Request)
相关信息
- 前端请求方式:POST
- 请求头:配置了
Content-Type: application/json - 传入对象:结构包含
email和password字段 - 服务逻辑:接收
email和password参数,验证后返回登录成功消息
排查建议
- 检查请求体序列化:确认前端发送请求时,已将登录对象通过
JSON.stringify()转为JSON字符串,同时请求头的Content-Type正确设置为application/json。比如使用fetch的正确写法:fetch('http://localhost:8000/api/auth/login', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ email: 'xxx@xxx.com', password: 'xxx' }) }) - 核对参数名一致性:确认前端传入的字段名(
email、password)和后端接收的参数名完全一致,包括大小写。 - 检查后端解析中间件:如果用Express框架,确认已添加
express.json()中间件,否则后端无法解析JSON格式的请求体,会直接返回400。 - 对比请求差异:在浏览器开发者工具Network面板中复制请求的cURL,和Postman中正常请求的cURL对比,查看请求头、请求体的细节差异。
- 校验后端规则:检查后端是否对邮箱格式、密码长度等做了校验,前端传入的参数是否不符合这些规则。
内容的提问来源于stack exchange,提问作者Giancarlo Cabrera
相关产品推荐
相关产品推荐

