我有一个在前端用react js开发的网站。前端向fastapi python后端发出请求(POST方法)。在Web界面上,当我点击调用fastapi API的sent按钮时,出现以下错误:
在我的本地计算机上,一切都运行正常。但是当我在O2Switch服务器上进行生产时,上面的bug又回来了。
对于react js,我使用axios来执行POST请求:
Axios.post("http://localhost:8001/calcul", {
localisation: "MA",
critere_priviligier: "12",
largeur_lame: "12", espace_lame: "12"
)
.then(res => {
console.log("1111", res.data);
console.log(res)
navigate('/response', {state: {localisation: res.data.autonomie_luminere,
coefficient_cm: res.data.coefficient_cm,
consommation_anuelle: res.data.consommation_anuelle,
information: res.data.information,
optimise: res.data.optimise}});
}).
then(function(json) {
console.log("JSON: ", json);
})
.catch(error => console.error(`Error, ${error}`));
在fastapi上,我考虑到了CORS:
from fastapi import FastAPI, Request
from fastapi.middleware.cors import CORSMiddleware
from calcul import Calcul, CoefficientCM
import pandas as pd
app = FastAPI()
origins = ["*"]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
对于prod,我使用build文件夹:
npm run build
对于fastapi,我使用uvicorn:
uvicorn main:app --host 0.0.0.0 --port 8001 --reload
正如我之前提到的,本地一切都运行良好,但是当我在o2switch服务器上投入生产时,就出现了这个bug。
Fastapi和react js位于同一服务器中
1条答案
按热度按时间brccelvz1#
将本地主机的API_URL替换为生产环境中的URL