【问题标题】:Why am i getting an error when I am sending JSON data from Javascript to Flask?当我将 JSON 数据从 Javascript 发送到 Flask 时,为什么会出现错误?
【发布时间】:2020-07-12 14:17:30
【问题描述】:

这是我的 JavaScript 代码

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type=text/javascript>
    $(function() {
        $.ajax({
            type: 'POST',
            url: "/jstoflask",
            data: {
                1: "Welcome",
                2: "to",
                3: "Geeks",
                4: "for",
                5: "Geeks"
            },

            success: function(data) {
                console.log('success', data);
            }
        });
    });
</script>

这是我的烧瓶代码

@app.route('/jstoflask',methods=["POST"])
def jstoflask():
    data=request.form('data')
    print(data)  
    return jsonify(data)

我收到一个错误:TypeError: 'ImmutableMultiDict' object is not callable。 我究竟做错了什么?我该如何解决?

【问题讨论】:

  • data=request.form('data') 我怀疑你的问题出在这一行。您没有发送任何名称为“数据”的表单或字段
  • 看看这个帖子stackoverflow.com/questions/10434599/…它可能对你有帮助

标签: javascript jquery ajax flask


【解决方案1】:

这是因为request.form 不是您可以调用的方法。它是ImmutableMultiDict 的有效负载。您可以将行更改为data = request.form,您将能够看到该值。

由于请求对象是一个字典,您可以通过像这样传递一个键来访问数据:request.form['1']

Official Docs

【讨论】:

  • 我如何获取不是 InmutableMultiDict 的数据?
  • 在答案中添加了一个示例
猜你喜欢
  • 1970-01-01
  • 2017-06-10
  • 1970-01-01
  • 2016-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-14
  • 1970-01-01
相关资源
最近更新 更多