前端Vue 后端FastApi 跨域 CORS

前端跨域方法和后端跨域方法二选一,推荐后端跨域

什么是跨域问题?

前端是localhost:3000,后端是localhost:8000 ,就是跨域了

Vue跨域方法

在vue.config.ts中,server中,增加proxy部分的代码,意思是 将/api 重写成 后端的地址

复制代码
  server: {

    host:'0.0.0.0',
    open: true,
    proxy: {
      '/api': {
        target: "http://127.0.0.1:8000",
        changeOrigin: true,
        rewrite(path) {
          return path.replace(/^\/api/, '')
        },
      },
      

      },
  },

然后vue中用axios访问后端的网址就写成

复制代码
import axios from 'axios'
export const addNutInfo = (req:any) => {
    return axios.post('/api/nut/${line}',req)}

相当于 http://127.0.0.1:8000/nut/${line}

后端FastAPI跨域方法

参考https://fastapi.tiangolo.com/zh/tutorial/cors/

origins列表中写的是 前端端口号 比如3000

复制代码
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware

app = FastAPI()

origins = [
    "http://localhost.tiangolo.com",
    "https://localhost.tiangolo.com",
    "http://localhost",
    "http://localhost:8080",
]

app.add_middleware(
    CORSMiddleware,
    allow_origins=origins,
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)


@app.get("/")
async def main():
    return {"message": "Hello World"}

推荐后端跨域的办法,vue前端直接写后端端口就行

复制代码
export const getNutSum=(line:any) =>{
    return axios.get(`http://127.0.0.1:8000/getsum/${line}`)
}
相关推荐
CUIYD_19892 分钟前
Vue 中组件命名与引用
javascript·vue.js·node.js
面朝大海,春不暖,花不开3 分钟前
Spring Boot MVC自动配置与Web应用开发详解
前端·spring boot·mvc
知否技术3 分钟前
2025微信小程序开发实战教程(一)
前端·微信小程序
玲小珑4 分钟前
Auto.js 入门指南(五)实战项目——自动脚本
android·前端
Sparkxuan4 分钟前
IntersectionObserver的用法
前端
玲小珑5 分钟前
Auto.js 入门指南(四)Auto.js 基础概念
android·前端
全栈技术负责人5 分钟前
Webpack性能优化:构建速度与体积优化策略
前端·webpack·node.js
爱吃肉的小鹿7 分钟前
浏览器渲染的核心流程及详细解析(2025.6月最新)
前端
贩卖纯净水.12 分钟前
webpack打包学习
前端·学习·webpack
敲键盘的小夜猫24 分钟前
RunnablePassthrough介绍和透传参数实战
java·服务器·前端