【发布时间】: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