Vue系列-解决axios请求的跨域问题

14 篇文章 0 订阅

vue创建页面时,假如设置的端口是8080,而后台端口是4000,当用axios进行数据交互时就会出现跨域问题。解决的办法很简单:

  • 与package.json文件同级的目录下新建一个文件vue.config.js
    在vue.config.js中进行如下配置
module.exports = {
   devServer: {
       proxy: {
           '/api': {
              //后端请求的地址
               target: 'http://localhost:4000',
               ws: true,
               changeOrigin: true,
               pathRewrite: {
                   '^/api': '/api'
               }
           }
       }
     }
}

前端发送请求http://localhost:8080/api/login?实际上请求的是http://localhost:4000/ api/login?,相当于骗了浏览器,这里注意**“/api”一定不能漏掉**,具体axios写法如下:

import axios from 'axios'
export function getArticleById(id) {
   return  axios.get(
   				//请求的地址,实际是'http://localhost:4000' +`/article/${id}`
             `/article/${id}`
              ).then(res => {
                 console.log(res)
              }).catch(function (error) {
                 console.log("访问错误")
                 console.log(error);
             });
   }

亲测有效,可以完美解决跨域问题

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值