有不少刚学Vue的童鞋们可能会遇到请求Api接口时出现跨域的问题(也会有运气好没有遇到的),这篇文章仅供参考,这是在询问了前端的朋友后写的。

解决前端跨域的问题有两种情况,一个是开发环境,另外一个是线上生产环境。

目前开发环境的跨域问题还没有解决,有知道的童鞋麻烦告知一声。只知道要配置服务器代理,但是按照网上的教程配置完后还是没有效果,求大神告知。

另外一种情况是线上生产环境使用cors解决跨域的问题。

这种方法开发环境和线上生产环境都适用,这里一PHP来进行说明:

在非框架中

//json头
header(\"Content-type: application/json\");
//跨域
header(\"Access-Control-Allow-Credentials: true\");
header(\"Access-Control-Allow-Origin: 跨域URL\");
//CORS
header(\"Access-Control-Request-Methods:GET, POST, PUT, DELETE, OPTIONS\");
header(\'Access-Control-Allow-Headers:x-r

           在框架中,以yii2.0框架来举例说明:

在控制器中添加如下代码,具体配置根据自己的需求进行配置
public function behaviors()
    {
        return ArrayHelper::merge([
            [
                \'class\' => Cors::className(),
                \'cors\' => [
                    \'Origin\' => [\'*\'],
                    \'Access-Control-Request-Method\' => [],
                    \'Access-Control-Request-Headers\'=>[\'*\']
                ],

            ],
        ], parent::behaviors());
    }

有什么不到之处,请各位大神即时指出

收藏 打印