axios / react post request:没有参数发送到后端(flask api)

时间:2018-05-24 08:33:52

标签: reactjs flask axios

逗人, 有问题。使用参数向烧瓶服务器发布axios请求时,烧瓶不会收到该参数。

Axios:0.18 反应:16.3.2 Redux:4

以下是问题所在的代码:

confirm: token =>
      axios
          .post("/api/auth/confirmation", { token })
          .then(res => res.data.user),

变量令牌不为空。即使用固定值(例如2323232)替换它,我也会获得405响应表单API

  axios
      .post("/api/auth/confirmation", "2323232")
      .then(res => res.data.user),

烧瓶服务器响应状态405,因为实际上它接收到url,但不接收参数的值:

127.0.0.1 - - [24/May/2018 16:21:14] "POST /api/auth/confirmation HTTP/1.1" 405 -

但如果该值包含在URL中,则没有问题:

  axios
      .post("/api/auth/confirmation/2323232")
      .then(res => res.data.user),

结果很好:

127.0.0.1 - - [24/May/2018 16:04:01] "POST /api/auth/confirmation/2323232 HTTP/1.1" 200 -

我在这里做错了什么?

thks& RGDS

Ps:烧瓶后端代码非常简单:

@app.route('/api/auth/confirmation/<token>',methods=['POST'])
def confirmation(token):
    return jsonify({'user':'ok'}),200

1 个答案:

答案 0 :(得分:1)

而不是:

@app.route('/api/auth/confirmation/<token>',methods=['POST'])

你应该使用类似的东西:

from flask import request 

@app.route('/api/auth/confirmation/',methods=['POST'])
def confirmation():
    token = request.get_json()['token']
    # ... rest of code ...

More info