Flask request.get_json()在通过post reques发送有效的json数据时返回None

2024-05-19 17:03:31 发布

您现在位置:Python中文网/ 问答频道 /正文

使用flask构建应用程序。应用程序使用表结构来显示数据。它的部分功能是从用户指定的表行收集数据。为此,我在执行某些js的每一行上都放置了一个按钮。js从行中收集信息,使用JSON.stringify()转换为JSON对象,并向相关的flask url发出post请求。

将jsonified对象的值从js文件记录到浏览器控制台显示它的格式正确。post请求与正确的路由联系,但是request.get_json()函数在该路由的方法中返回值None。

我在烧瓶里设置了一条单独的测试路线。这是相关代码

从javascript

    function do_some_work(e) {
        var row_data = get_table_row_data(e);
        row_data = JSON.stringify(row_data);
        console.log(row_data);
        $.post("test", row_data);
    }

get_table_row_data()只返回一个带有key:value对的对象。日志显示数据的格式是正确的json。

下面是python代码

#TODO
@application.route('/test', methods=['GET', 'POST'])
def test():
    data = request.get_json()
    print("data is "+format(data))
    return redirect(url_for('index'))

这里数据显示为无

非常感谢您的帮助


Tags: 数据对象testjson应用程序urlflaskdata
1条回答
网友
1楼 · 发布于 2024-05-19 17:03:31

它是request.json它将返回一个JSON数据字典。要获取值,请使用request.json.get('value_name')。所以你的路线是这样的

#TODO
@application.route('/test', methods=['GET', 'POST'])
def test():
    data = request.json
    print("data is " + format(data))
    return redirect(url_for('index'))

相关问题 更多 >