vue 跨域配置(过程与问题解决)proxyTable配置

本文详细介绍了如何在Vue项目中配置axios进行ajax请求,并解决了跨域问题。通过在main.js中设置axios的基础URL和请求头,以及在config/index.js中配置proxyTable代理,实现了本地开发环境下的跨域请求。

1.配置
main.js配置

/*ajax请求*/
import axios from 'axios'
axios.defaults.baseURL = 'http://www.projet1.com/';
// var AUTH_TOKEN = 'ss';
// axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

写在new vue 前面

config/index.js中proxyTable配置

proxyTable: {
        '/api': {
          target: 'http://www.projet1.com/',//设置你调用的接口域名和端口号 别忘了加http、https
          changeOrigin: true,//是否跨域
          // secure: true, // 允许https请求
          pathRewrite: {
            '^/api': '/'//这里理解成用‘/api’代替target里面的地址
          }
        }
    },

这里坑最大,如果还是报错,先要理解pathRewrite的含义:

用代理, 首先你得有一个标识, 告诉他你这个连接要用代理. 不然的话, 可能你的 html, css, js这些静态资源都跑去代理. 所以我们只要接口用代理, 静态文件用本地.’/api’: {}, 就是告诉node, 我接口只要是’/api’开头的才用代理.所以你的接口就要这么写 /api/xx/xx. 最后代理的路径就是 http://xxx.xx.com/api/xx/xx.
可是不对啊, 我正确的接口路径里面没有/api啊. 所以就需要 pathRewrite,用’’^/api’’:’’, 把’/api’去掉, 这样既能有正确标识, 又能在请求接口的时候去掉api

然后你觉得配置都正确了,还是不对,可以换个浏览器后者重启电脑试试,反正我最后是换了浏览器就可以了。。(坑啊!!!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值