天天看点

axios get怎么还会显示跨域_axios 跨域问题的解决 (接口 Phal 框架)

最近在自己写前后端分离的项目,前台用 vue ,后台用 PHP 框架写接口(PhalApi),然后在 vue 中用 axios 调用 PHP 的接口,遇到了跨域请求的问题,在网上了找了各种解决方法,结果就是没解决了,最后还是自己捣鼓出来了,主要是因为我在修改 vue 项目中的 config/index.js 文件中这个配置时就是不好使,所以才不得已用的别的方法。

axios get怎么还会显示跨域_axios 跨域问题的解决 (接口 Phal 框架)

vue index.js 配置.png

你如果查询 axios 跨域的话应该也是这个方法,具体我就不解释了,然后我不管怎么设置,这个配置就是不好使,真的是把你气死,没办法,幸亏我是自己开发前后台,所以我还有第二种解决方法,就是从后台下手,我用的是

Phal 框架,然后我就用设置请求头的方式解决了这个问题

在项目的主入口文件中加入以下这行代码;

/public/index.php

// 设置允许 http://172.24.42.65:8000 这个地址跨域请求

header('Access-Control-Allow-Origin:http://172.24.42.63:8080');

因为我是在本地开发,一开始我设置的是

header('Access-Control-Allow-Origin:http://localhost:8080');

但是这个函数好像不会解析 localhost 所以我就替换成了 IP 地址,然后 vue 端的配置文件中,我也把服务器的默认打开端口从 localhost 改成了 172.24.42.63

/config/