无法在Flask中获取JSON数据

时间:2015-04-16 23:26:48

标签: python json flask

我正在尝试将一些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"

1 个答案:

答案 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';

                }
            })