本人最近做了个小项目,使用vue + thinkphp6,本地开发环境是通过vue.config.js测试都没有问题,当部署到服务器上后,出现了跨域options请求的问题,经过多方搜索最终解决了,感谢网络上的大佬们。
尤其感谢掘金上的dailc的文章ajax跨域,这应该是最全的解决方案了。
如果有类似问题可以详细阅读上面的文章会有所帮助。
thinkphp6中允许OPTIONS请求可以在app -> BaseController中的初始化中加上对OPTIONS请求的允许。
代码如下:
// 初始化
protected function initialize()
{
// 允许OPTIONS请求
if(Request::method() == 'OPTIONS'){
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization");
header('Access-Control-Allow-Methods: GET, POST, PUT,DELETE,OPTIONS,PATCH');
exit();
}
}