这个问题在这里已有答案:
我正在尝试将一些JSON数据从javascript发送到Flask进行处理。我无法访问Flask中的json数据。我需要更改什么来获取数据?
$.get(
"http://127.0.0.1:5000/search",
{"Value": "" + user_input_value + ""},
function (data) {
console.log(data);
}
);
@app.route("/search")
def search():
searchTerm = request.get_json(force=True)
print searchTerm
return "Whatever"
jQuery get方法上的data参数将被编码为查询字符串并附加到url。如在
/search?Value=foo
它不会像烧瓶那样的json一样可用。您必须从参数字典中提取任何值,如下所示:
request.args.get('Value');
将json作为查询字符串的一部分传递通常是不常见的。通常人们会执行PUT或POST并在请求正文上传递数据。然后你可以使用request.get_json()。
有很多关于如何将json放入或发布到服务器的示例。我将包括一个如何做到这一点的例子:
$.ajax({
url: "/finalize_order",
type: 'PUT',
dataType: 'json',
contentType: 'application/json; charset=UTF-8',
data: JSON.stringify(Terrell.cart),
success: function () {
window.location.href = '/thanks';
}
})