reactjs 如何从本地服务器上react应用程序中的flask应用程序获取数据

uidvcgyl  于 2023-01-30  发布在  React
关注(0)|答案(2)|浏览(154)

我在localhost:5000上运行了一个 flask 应用:

from flask import Flask

app = Flask(__name__)   

@app.route("/api")
def parse():
    return {"test": "json"}

if __name__ == "__main__":
    # for production change debug to False
    app.run(debug=True)

在前端,我从这里获取数据:

useEffect(() => {
    fetch("http://localhost:5000/api")
      .then((res) => res.json())
      .then((data: Data) => {
        setData(data);
        console.log(data);
      });
  }, []);

当我尝试从我的react应用程序中获取数据时,我在控制台中收到以下错误:

我已经看到了一堆类似问题的答案,但所有其他的问题都比我的更复杂,我不知道该添加到我的 flask 应用程序,因为我的是相当裸露的骨头。

k3fezbri

k3fezbri1#

幸运的是,解决这个问题非常简单,您只需使用pip install flask-cors安装flank-CORS,然后在应用中添加一个CORS标头,如下所示:

from flask_cors import CORS
from flask import Flask

app = Flask(__name__)   
CORS(app)
@app.route("/api")
def parse():
    return {"test": "json"}

if __name__ == "__main__":
    # for production change debug to False
    app.run(debug=True)

For more information, visit flask-cors documentation

nimxete2

nimxete22#

@app.route("/", methods=["GET"])
def get_example():
    """GET in server"""
    response = jsonify(message="Simple server is running")

    # Enable Access-Control-Allow-Origin
    response.headers.add("Access-Control-Allow-Origin", "*")
    return response

相关问题