前端请求服务器状态码400错误,为什么没有返回json错误信息?

发布于 2022-09-13 01:25:31 字数 666 浏览 18 评论 0

1.postman测试
发送登录请求,正常用户名密码,可以收到返回值
image.png
密码错误的登录请求
image.png
用postman测试都是正常的

2.网页实际登录的时候
正常登录,返回结果同postman返回结果
image.png

问题 密码错误返回的结果是undefined

image.png
image.png
image.png
小白想知道怎么获得返回的具体错误?
试过把res.status(400)去掉直接用res.json就能获得返回错误,但是这样又不好判断await login的结果到底是正确的还是错误的返回...
求大佬帮忙提供思路❥(^_-)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

风月客 2022-09-20 01:25:31

不知道你前端的 AJAX 是咋封装的。

如果是用了 axios 之类的 AJAX 库,默认非 2XX 响应是进到 catch 里的。

你可以自己写一个拦截器处理这个问题(推荐);或者重写它的 validateStatus 属性(不推荐)。

月牙弯弯 2022-09-20 01:25:31

try catch了,console.log(ret)打不出来的。就算改成Promise去then catch应该也是打不出结果的。你可以尝试获取一下原始的响应实例。

梦途 2022-09-20 01:25:31

如果是axios,你的响应拦截处应该

// 响应拦截
Http.interceptors.response.use(
  (response) => {
    return response.data;
  },
  (error) => {
    if (error && error.response) return Promise.reject(error.response.data);
    return Promise.reject(error);
  }
);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文