【问题标题】:Ajax to flask is sending an empty object [duplicate]Ajax 到烧瓶正在发送一个空对象 [重复]
【发布时间】:2020-09-21 22:43:17
【问题描述】:

我正在尝试将一个数组从我的 javascript 客户端发送到我的烧瓶服务器。我可以在 ajax post-call 之前记录数组,看看它是否存在并且看起来正确。但是,当我在烧瓶服务器端打印它时,我收到一个空字符串。

我已经尝试了 2 个不同版本的 javascript 来发布它:

这是第一个

$.post("/javamongo", {
                    data: JSON.stringify(data)
                }, function(err, req, resp){
                    window.locationhref = "/results/"+resp["responseJSON"]["uuid"];
                })

这是第二个

$.ajax({
    url: '/javamongo',
    type: "POST",
    ContentType: 'application/json',
    data: {'data': data}
    }).done(function(data) {
       console.log(data);
    });

两者在收到时都会产生不同版本的空。在我的烧瓶服务器上,我尝试过:

data = request.data

data = request.data.decode("utf-8")

以及通过 JSON.loads() 传递这些都无济于事。

任何建议或帮助将不胜感激!

【问题讨论】:

  • 我不是 Flask 开发人员...您希望发送 json 正文吗?如果是这样,您拼错了 contentType 并且需要对整个数据对象进行字符串化。否则 $.post 版本将作为表单编码数据发送,与使用 action="post" 提交 html 表单相同
  • 首先,在浏览器的开发工具中检查请求并确保它被正确发送。接下来,尝试记录烧瓶一侧的所有内容。以request开头。

标签: javascript python jquery ajax flask


【解决方案1】:

请改用request.form['data'],因为您使用的方法是post

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-22
    • 1970-01-01
    • 2023-04-03
    • 2014-07-23
    • 2018-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多