0
我正在使用jQuery dataTables插件。當我POST
向服務器請求數據時,dataTables
提供了大量關於排序,搜索值(如果有)和列元數據的信息。dataTables flattens JSON數據上POSTing,如何解碼成python字典
使用鉻調試器,我看到準備的數據在POST
請求(dataTables
對象內以下代碼段從)發送是適當地形成JSON
對象
"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的屏幕截圖,因此您可以看到數據如何傳遞的細節)。
到目前爲止,我曾嘗試與服務器上的json
和formencode
模塊玩,並試圖從客戶端發送前字符串化的數據,但沒有任何變化。服務器上的數據類型是Werkzeug CombinedMultiDict
,但我認爲在這一點上並不重要。
我想你的解決方案,現在'request.values'是空的, 'request.data' 包含以下字符串:'draw = 1&columns%5B0%5D%5Bdata%5D =&column%5B0%5D%5Bname ...'where'&'=',','%5B' ='[','%5D' = ']'如果匹配到原始'request.values' –
請確保JSON請求中的'data'是格式正確的JSON,然後在flask中使用request.get_json而不是request.data,如圖所示即看看http://flask.pocoo.org/docs/0.10/api/上的get_json()方法的文檔。 –