axios 响应JS POST http://localhost:8001/calcul net::错误连接被拒绝-后端Fastapi

vnzz0bqm  于 2022-11-23  发布在  iOS
关注(0)|答案(1)|浏览(173)

我有一个在前端用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位于同一服务器中

brccelvz

brccelvz1#

将本地主机的API_URL替换为生产环境中的URL

相关问题