我将DataTable
与django
一起使用,并且试图设置serverSide
选项。除order
参数外,其他所有程序都工作正常。 Datatable会将所有参数发送到顺序如下的后端:
order[0][column]: 0
order[0][dir]: asc
order[1][column]: 2
order[1][dir]: desc
我正在尝试使用getlist()函数来获取列表中的所有订单参数,但是每次都得到一个空列表
orders = request.GET.getlist('order[]')
我想念什么?
答案 0 :(得分:0)
如果您要查找的关键字不存在,通常您会得到getlist
的空列表。尝试使用request.GET.getlist('order')
。
答案 1 :(得分:0)
好的,我找到了解决方案。我将ajax作为一种形式编码发送,并且它以文本字符串order[0][column]
order[0][dir]
的形式获取命令的键。我要做的是将数据表中的ajax作为JSON发送,并在视图中使用json.loads()
获取参数:
数据表
"ajax": {
"url": url,
"contentType": "application/json",
"type": "POST",
"data": function (d) {
return JSON.stringify(d);
}
},
查看
request_data = json.loads(request.body)
dt_draw = request_data.get('draw')
dt_start = request_data.get('start')
dt_length = request_data.get('length')
dt_search = request_data.get('search').get('value')
dt_order = request_data.get('order')