最近在用uniapp做一个h5的项目(与后台不是同域),在开发的时候发现了一个跨域的问题,一般跨域的问题就是后台配置的问题了~
一般百度找到的方法,就是在入口文件index.php中添加以下代码:
header( "Access-Control-Allow-Origin : *" );
header( "Access-Control-Allow-Methods : POST,GET,OPTIONS" );
有的时候,这样也行,一开始我也是这么弄的,正常请求了
随便弄了一个路由测试的,没有问题,但是当放在uniapp的request请求的时候就报错了,因为请求head中添加了自定义参数token(身份验证,这个就不多说了)
经过测试发现,只要不在head中添加自定义参数就没问题,于是接着找资料,发现还要添加一行:
header( "Access-Control-Allow-Headers : Token,Accept,Accept-Encoding,Accept-Language,Connection,Content-Length,Content-Type,Host,Origin,Referer,User-Agent,X-DevTools-Emulate-Network-Conditions-Client-Id" );
意思就是将所有用到的head参数都写进去
---------------分隔线------------
本来到这就结束了,但实际并不是这样。。。。
在找资料的时候,发现一种使用tp5的钩子的方法,感觉不错,于是删除了上面添加的代码,改成下面这样: