【问题标题】:Ajax post to Flask - json [duplicate]Ajax 发布到 Flask - json [重复]
【发布时间】:2016-09-13 20:10:57
【问题描述】:

我在客户端有一个带有自动完成功能的 google-maps 查找 - 一旦用户选择它,我正在尝试将“place”对象传输到服务器 - 我可以在客户端解析它,但是我认为做服务器端更容易。我从浏览器“网络”检查验证它正在通过正确的 json 对象发送,但服务器端我无法获得正确的对象。我已经尝试了请求的所有排列。* 我可以找到并获得 None 或 <module 'flask.json'> 我知道这是不正确的。

代码:

function sendplace() {
    $('placebutton').click(function() {
        var add1 = place;
        console.log(place);
        $.ajax({
            url: '/new_place2',
            data: JSON.stringify(place),
            contentType: 'application/json;charset=UTF-8',
            type: 'POST',
            success: function(response) {
                console.log(response);
            },
            error: function(error) {
                console.log(error);
            }

和服务器端:

@app.route('/new_place2', methods=['GET', 'POST'])
def new_place2():
    place = request.form.get('place')
    print "address: ", place
    return ("Success, (*&)er!")

【问题讨论】:

    标签: ajax flask


    【解决方案1】:

    您应该使用request.get_json()。 request.form 保留给 mimetype application/www-form-urlencoded。如果get_json() 不起作用,请查看request.data 并确保您可以在其上运行以下命令:

    import json
    
    data = json.loads(request.data)
    data.get('place')
    

    如果这不起作用,您的 JSON 可能有问题

    【讨论】:

    • 谢谢 - 今天早上花了大约两个小时寻找 - 找到了很多帖子,但上面没有...'get_json()' 工作。
    猜你喜欢
    • 2018-09-13
    • 2018-07-04
    • 2018-12-11
    • 1970-01-01
    • 2012-05-30
    • 2014-10-17
    • 2013-05-04
    • 2023-03-27
    • 1970-01-01
    相关资源
    最近更新 更多