我正在尝试将一些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"
答案 0 :(得分:1)
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';
}
})