Vue + ASP.NET core 解决跨域问题

本文介绍了如何解决Vue.js(本地8080端口)与ASP.NET Core(本地44345端口)开发环境中遇到的跨域问题。通过在Vue的`config/index.js`中配置`proxyTable`进行代理设置,处理HTTPS避免SSL错误。同时,也在ASP.NET Core的`Startup.cs`中添加CORS策略,允许特定来源。现在,前端axios请求时,URL只需使用'/api/接口名',代理服务器会自动转发请求。
摘要由CSDN通过智能技术生成

前端用vue搭建的,跑在本地端口8080,后端用ASP.NET core写的,跑在本地端口44345,前端用axios请求接口。
先改前端,在config文件夹下的index.js中找到proxyTable,proxyTable 是 vue-cli 脚手架在开发模式下为我们提供的一个跨域的代理中转服务器服务,那一块改成

proxyTable: {
   
      '/api': {
   
        target: 'https://localhost:44345/',
        changeOrigin: true,
        "secure": false,
        pathRewrite: {
   
          '^/api': ''
        }
      }
}

中间那行“secure”:false,是因为后端接口是https,不加会SSL报错。

proxyTable 跨域的基本原理是:

  • 在开发模式下,webpack 会为我们提供一个http代理服务器。
  • 我们请求接口的时候,实际上是请求的webpack提供的这个http代理服务器。
  • 再由这个代理服务器请求真实的数据服务器。
  • 最后数据经由webpack代理服务器,转交给我们的vue程序。

然后改后端,在startup.cs中找到public void Configure函数,找到后在里面加上

app.UseCors
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值