ajax请求401时无法获取后端的错误信息

发布于 2022-09-11 18:54:26 字数 514 浏览 18 评论 0

ajax发送跨域请求,后端会验证前端的自定义请求头,若验证失败后端会将该请求定义为401,并返回相应的提示信息,浏览器能看到后端返回的提示信息,但前端无法通过代码获取,无论是用jQuery内置的ajax还是用axios
有什么解决办法吗?请指教,谢谢

jQuery代码
代码很简单

打印出的错误对象并不包含后端返回的提示信息,前端也就无法获取
控制台打印

请求详细信息
图片描述

这里能看到后端返回的提示信息,如何通过代码获取呢?
图片描述

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

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

发布评论

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

评论(3

青丝拂面 2022-09-18 18:54:26

我也碰到这个问题了,只不过,我用的是yii2,误打误撞解决了。我觉得思路应该还是要修改你的后端代码。附上我解决问题的思路
https://segmentfault.com/a/11...

流年里的时光 2022-09-18 18:54:26

axios里面不是有拦截器吗?服务端返回401,你在拦截器哪里处理一下就行了,你还要获取返回的信息干什么?
clipboard.png

嘿看小鸭子会跑 2022-09-18 18:54:26

被跨域拦截后代码不可能获取到任何响应的信息。你只能在后端代码里加上cors的响应头ACCESS-CONTROL-ALLOW-ORIGIN,注意最好不要是*,直接是具体的ip地址或url加端口号,否则容易出问题。如果还是提示缺乏某个ACCESS-CONTROL-之类的响应头,再加上。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文