javascript - 当通过 post 请求发送有效的 json 数据时,Flask request.get_json() 返回 None

标签 javascript python json flask

<分区>

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

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

我在 flask 中设置了一个单独的路径用于测试。这是相关代码

来自 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() 只返回一个包含键值对的对象。日志显示数据格式正确 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'))

这里的数据显示为 None

非常感谢任何帮助

最佳答案

它是 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'))

关于javascript - 当通过 post 请求发送有效的 json 数据时,Flask request.get_json() 返回 None,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49010415/

相关文章:

javascript - 使用 vscode 离线调试无服务器 Node

多重继承中的 python 'super' - 意外的代码输出

c++ - 更快的 JsonCpp 替代方案允许 Json 对象的复制/可变性?

javascript - 序列化 JavaScript 对象

javascript - angularjs deferred 在回调中不起作用

javascript - JQuery 自动完成源未更新

python - 更新我的 python 安装上的 SQLite3 版本

python - 为给定的整数生成 x+xx+xxx+xxxx ...(对于 4 -> 4+44+444...)

json - 使用 JSON 的 Pentaho HTTP Post

JavaScript 错误 : Uncaught TypeError: undefined is not a function