19-08-23 遇到的几次跨域情况

158 阅读1分钟

JAVA后台,以header token方式验证,导致跨域

stack overflow对这个问题的描述

问题描述:java后台对请求设置了token验证,而浏览器由于跨域访问,在post请求前发送了options请求(关于什么时候会发送options请求),但是options请求由于没带token,导致options请求没有通过java的token验证filter,从而导致整个post请求失败

//正常的post请求headers设置token后,后台取到的格式是
token: '......'
//而options请求的headers里放的是对headers中自定义项的描述
access-control-request-headers: 'token'

解决办法将access-control-request-headers设置在Access-Control-Allow-Headers


还有一次是php,php的中间件中虽然设置了可跨域,但是再下一个中间件中又重写了响应头,倒置允许跨域的信息丢失