FastAPI CORS 故障排除

问题描述 投票:0回答:1

我在使用 FastAPI 和 CORS 时遇到了一些问题。你能给我一个有效的例子吗?

FastAPI 路由器:

from fastapi import FastAPI, Request
from fastapi.middleware.cors import CORSMiddleware
from pydantic import BaseModel

app = FastAPI()

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

@app.post("/post")
async def postHandler(request: Request):
    data = await request.json()
    return {"resp": "Created a new game!"}

JavaScript:

async function apiRequest (url, method, reqBody) {
    const reqParams = {
        method: method,
        headers: {
            "Access-Control-Allow-Origin": "*",
            "Access-Control-Allow-Headers": "Origin, X-Requested-With, Content-Type, Accept"
        }
    };
    if (method === "POST") reqParams["body"] = JSON.stringify(reqBody);
    const response = await fetch(url, reqParams);
    const data = await response.json();
        return data.resp;
}
javascript cors fastapi
1个回答
0
投票

您的

allow_origins=[""]
应该是
allow_origins=["*"]

但是,最好设置一个变量,其中包含代表实际允许来源的字符串列表,例如

origins=["http://localhost:3000", ...]
并像
allow_origins=origins

一样传递它
© www.soinside.com 2019 - 2024. All rights reserved.