axios 跨域的解决办法

一、设置浏览器


1下载并安装好chorme浏览器后在桌面找到浏览器快捷图标并点击鼠标右键的属性一栏 

windows下面用

版本号49之前的跨域设置

--disable-web-security (前边有一个空格哦)

版本号49之后的跨域设置

--disable-web-security --user-data-dir=C:\MyChromeDevUserData(前边有一个空格哦)

C:\MyChromeDevUserData 是你本地硬盘的一个目录,你自己最好新建一个,上面的目录路径换成你新建的目录就可以了。

 

如图所示 在目标后边加上 上边的那段话 这样就完美的解决跨域问题啦

不需要后端设置 access-control-allow-origin:*也不需要前端配置代理

axios 跨域的解决办法_第1张图片

Mac os 下面用


/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security

或者

open -a "Google Chrome" --args --disable-web-security

 

用命令行打开 Apple Safafi 方法是:

open -a '/Applications/Safari.app' --args --disable-web-security

火狐浏览器这样 

1.先在地址栏输about:config    然后单击“我了解此风险”axios 跨域的解决办法_第2张图片入 

2.找到security.fileuri.strict_origin_policy,然后在值下面的true右键单击,选择切换,修改其参数:true改为false。

axios 跨域的解决办法_第3张图片

3.重启

二、前端设置代理


先找到项目中config下的index.js 设置如下

proxyTable: {//设置代理 解决Vue跨域问题
             '/api': {
            target: 'http://192.168.10.62:8086', //设置调用接口域名和端口号别忘了加http
             changeOrigin: true,
             pathRewrite: {
                 '^/api': '/' //这里理解成用‘/api’代替target里面的地址,组件中我们调接口时直接用/api代替
                    // 比如我要调用'http://0.0:300/user/add',直接写‘/api/user/add’即可 代理后地址栏显示/
             }
        }
    },

修改完记得重新 npm run dev

三、后端设置


Access-Control-Allow-Origin设置为*

 

你可能感兴趣的:(vue)