【问题标题】:Flask with Angular: POST form is empty带有 Angular 的烧瓶:POST 表单为空
【发布时间】:2014-11-30 09:33:55
【问题描述】:

我正在通过 AngularJS POST 请求发送数据:

$http.post('/process', { 'uid': uid, 'action': action }).success(function(response) {
    console.log(response);
});

并尝试在 Flask 中获取发送的值

@app.route('/process', methods = ['POST'])
def process():
    return json.dumps({ 'data': request.form.get('uid', 'EMPTY') })

Flask 返回 {"data": "EMPTY"} 响应。 request.form 为空。我尝试从request.data 获取数据,但那里的格式很奇怪。

我正在学习 Python 和 Flask,所以我想使用本机库来完成这项工作,现在没有任何其他包。

【问题讨论】:

  • 为什么不使用 request.args?
  • @taskiner 因为它们用于 GET 请求

标签: python ajax angularjs python-3.x flask


【解决方案1】:

get_json() 方法对我有帮助

@app.route('/process', methods = ['POST'])
def process():
    return json.dumps({ 'data': request.get_json().get('uid') })

【讨论】:

    【解决方案2】:

    如果您想通过request.form 获取数据,则需要以不同的方式发送。详情见这个问题:How can I post data as form data instead of a request payload?

    【讨论】:

      【解决方案3】:

      确保 Content-Type 为 application/json

      这是一起使用 Flask 和 AngularJS 的教程系列 - http://tutsbucket.com/tutorials/building-a-blog-using-flask-and-angularjs-part-1/

      希望你会发现它有用。

      【讨论】:

        猜你喜欢
        • 2014-05-21
        • 2012-12-13
        • 1970-01-01
        • 2020-08-24
        • 1970-01-01
        • 2023-04-07
        • 2018-10-02
        • 2020-10-07
        • 1970-01-01
        相关资源
        最近更新 更多