【问题标题】:How to send POST data to flask using Reactjs fetch如何使用 Reactjs fetch 将 POST 数据发送到烧瓶
【发布时间】:2019-06-06 23:27:39
【问题描述】:

我对反应非常陌生,我正在尝试掌握如何正确使用 fetch。我有这条 python 烧瓶路线,我试图从后端击中,看起来像这样:

@app.route('/api/v1', methods=['POST'])
def postTest():
    if not request.json:
        return "not a json post"
    return "json post succeeded"

现在,当我与邮递员达成这一点时,我实际上能够获得成功的信息。

这就是我的 reactjs fetch 的样子:

returnFlaskPost() {
  return fetch( 'http://localhost:5000/api/v1', {
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json'
    }, 
    method: 'POST',
    body: {
      'user1':'1234'
    }
  });
}

每当我运行我的应用程序并尝试将此函数读取到控制台时,我得到的结果是:

有人可以向我解释我做错了什么以及我可以做些什么来解决这个问题。我将不胜感激。

【问题讨论】:

标签: javascript reactjs flask-restful


【解决方案1】:

这是跨域资源共享的问题。在您的情况下,您正在尝试从不同的 URL 访问 API 端点,因为 API 是在自身上提供的。顺便说一句, 127.0.0.1:3000 和 127.0.0.1:5000 被认为是两个不同的 URL,因此导致了您所指的错误。因此,要解决此问题,您需要执行以下步骤:

  1. 安装 Flask-CORS:

    pip install flask-cors
    
  2. 在您的 Flask 应用程序中包含此代码(可能是 __init__.py):

    from flask_cors import CORS
    CORS(app)
    

就是这样!

【讨论】:

    猜你喜欢
    • 2020-05-14
    • 2021-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多