在跨域时,使用axios在header里设置了自定义请求头,但是后台没获取到,因为浏览器端得request header里也没有。
axios请求代码
1 | axios.get('http://localhost:8080/test',{ |
然而浏览器端没有Authentication这个header。
原因
后台是这么写的:
1 | public class LoginInterceptor implements HandlerInterceptor { |
原因就在于CORS请求会先发一个OPTIONS请求,这个请求是没有Authentication这个header的,所以验证失败,那么只需要允许预检请求就好:
1 | public class LoginInterceptor implements HandlerInterceptor { |