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

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

jQuery代码
代码很简单

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

请求详细信息
图片描述

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

阅读 9.2k
3 个回答

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏