dataTables在POSTing上展平JSON数据,如何解码为python词典

时间:2016-01-20 20:31:28

标签: python flask datatables

我正在使用jQuery dataTables插件。当我POST向服务器请求数据时,dataTables提供了大量有关排序,搜索值(如果有)和列元数据的信息。

使用Chrome调试器,我发现准备好在POST请求中发送的数据是一个格式正确的JSON对象(dataTables对象中的以下代码段)

"ajax": { // define ajax settings
    ...
    "type": "POST", // request type
    "timeout": 20000,
    "data": function(data) { // add request parameters before submit    
        $.each(ajaxParams, function(key, value) {
            data[key] = value;
        });
        var data = JSON.stringify(data); // here, the data is properly formed JSON. I tried stringifying it to no avail
    },

在我的服务器视图中(使用Python& Flask),我看到数据如下所示(我使用了PyCharm的屏幕截图,因此您可以看到数据的详细信息遇到了。)

enter image description here

到目前为止,我尝试使用服务器上的jsonformencode模块,并尝试在从客户端发送之前对数据进行字符串化,但没有任何变化。服务器上的数据类型为Werkzeug CombinedMultiDict,但我认为此时并不重要。

1 个答案:

答案 0 :(得分:1)

在Ajax集中:

type: "POST",

data: data,

dataType: "json",

contentType: "application/json;charset=utf-8",

然后在烧瓶中使用:

import json

...

data = jsonify(request.get_json(force=True))