前端localhost调用本地localhost后端接口时的跨域问题

本文介绍了一种在本地开发环境中解决跨域问题的方法,通过配置Vue的vue.config.js文件及axios,实现前端对本地后端接口的有效调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在项目开发的初期,服务器还没有搭建起来时,使用Tomcat等工具在本地部署后端服务是非常常见的方案。同时,前后端都跑在本地localhost也可以有效的解决跨域问题。
但是,如果不进行一些配置,直接使用axios调用本地后端接口,就会出现类似如下的报错:

在这里插入图片描述

这是由于localhost端口号不同导致的不同源

解决方案:

Step1:在vue.config.js中配置proxy

module.exports = {
  publicPath: '/',
  outputDir: 'dist',
  assetsDir: 'static',
  lintOnSave: false,
  productionSourceMap: false,
  devServer: {
    proxy: {
      '/api': {
        target: 'http://localhost:端口号', // 配置好的后端接口地址
        // 允许跨域
        changeOrigin: true,
        ws: true,
        pathRewrite: {
          '^/api': '' // 以'/api'开头的url会进行接口转发
        }
      }
    }
  },
}

Step2:在main.js中配置axios

// 引入axios
import axios from 'axios'
Vue.prototype.$axios = axios
axios.defaults.baseURL = '/api' // 一定要设置 axios.defaults.baseURL 为proxy中的转发头

Step3:重启前端serve和Tomcat

重启Tomcat就是将tomcat服务关掉(sh ./shutdown.sh)后重新打开(sudo sh ./startup.sh)

上述步骤依次完成后,即可解决本地前端调用本地后端接口的跨域问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NJR10byh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值