今天在开发中遇到一个问题,axios在请求的时候跨域导致cookie没有被携带
翻遍了所有教程,总结如下: 1.首先你的axios必须设置withCredentials为true
const instance = axios.create({
timeout: 10000,
baseURL: baseURL,
withCredentials: true,
});
2.在tp8全局中间件启用
\think\middleware\AllowCrossDomain::class
3.重点!在config中设置 'samesite' => 'None', 以及 'secure' => true,
如果之前完成了以上操作仍然无效,主要是在安全这个地方,因为是本地开发环境,所以并没有 配置ssl,而且使用的是本地host域名,这里有个更好的解决方法
不要用localhost,请用127.0.0.1! 设置后方可解决无需ssl即可安全请求
最后感谢一下某个群里的大佬无偿的帮助,QQ738565127,希望网上的技术氛围越来越好。