由于历史原因,一个应用即使用了 传统的 Cookie 登录,有使用 jwt 方式登录验证,为了让着两种方式能够互通,就需要 ajax 请求里面能够携带认证信息。
跨域一般设置 Access-Control-Allow-Origin: * 就够了,细心的你可能会发现,在请求里面没有携带任何 Cookie,这可不行,没有 Cookie 怎么验证用户,通过查询资料得知:Access-Control-Allow-Origin 有多种设置方法:
没有办法,Access-Control-Allow-Origin 只能设置为应用的域名,多个环境就需要动态设置,请参考这篇文章:https://www.cdsy.xyz/computer/programme/PHP/241214/cd70070.html,另外在 前端 也需要设置:
jQuery
$.ajax({
xhrFields: {
withCredentials: true,
},
axios
axios.defaults.withCredentials = true; // 让 ajax 携带 cookie
详细介绍:https://www.cdsy.xyz/computer/servers/ns/251110/cd74930.html

