如何使用Reactjs Fetch将POST数据发送到Flask

时间:2019-01-12 04:10:03

标签: javascript reactjs flask-restful

我是一个非常新的反应者,我正试图掌握如何正确使用提取。我有这个蟒蛇瓶路线,我正试图从后端打这条路线:

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

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

这是我的reactjs提取的样子:

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

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

enter image description here

有人可以向我解释我做错了什么,我该怎么做才能解决。我将不胜感激。

1 个答案:

答案 0 :(得分:2)

这是跨源资源共享的问题。在这种情况下,您将尝试通过不同的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)
    

就是这样!