gpt4 book ai didi

jquery - DataTables 下一个按钮不起作用

转载 作者:行者123 更新时间:2023-12-01 07:06:51 25 4
gpt4 key购买 nike

我有一个在 HTML 网页中初始化的 DataTable,通过对 Django 后端的 ajax 调用分段呈现。

一切正常,但是,[下一个]和[最后一个]数据表按钮不起作用。分页工作正常,Prev 和 First 也工作正常。

数据表代码:

var object_table = $('#object_table').DataTable( {
"sDom": '<"H"lfr>t<ip>',
"sPaginationType": "full_numbers",
"iOverlayFade": 100,
"processing": true,
"serverSide": true,
"ajax": '/objects/object_list/',
"deferRender": true
"aoColumnDefs": [ { "aTargets": [ 0 ], "sWidth": "1%",
"searchable":false, "orderable":false, }
],
"columns": function ( row, data, index ) {... }]
});

这就是代码在数据表 ajax 调用上从 django 传递过来的样子

def dt_object_list_loader:
r_sequence = int(request.GET.get('draw', 0))
r_length = int(request.GET.get('length', 10))
r_start = int(request.GET.get('start', 0))
objects = djangomodel.objects.filter(...)
result_list = [objects[r_start:r_start + r_length]
response_data = {}
response_data['recordsTotal'] = len(result_list)
response_data['draw'] = int(request.GET.get('draw', 0))
response_data['data'] = result_list


return HttpResponse(jsonpickle.encode(response_data), content_type='application/json')

分页工作正常,所有内容加载都没有错误。但是“下一个/最后一个”被模糊了,当我单击它们时,django 会触发错误:

Internal Server Error: /home/task_list/
Traceback (most recent call last):
....
r_start = int(request.GET.get('start', 0))
ValueError: invalid literal for int() with base 10: 'NaN'

当 python 错误抛出时,DataTables 还会引发一个神秘的错误 7(一般 ajax 错误)(除了错误发生在哪个表之外,它不提供任何信息。

好的,太好了,所以我知道当单击下一个或最后一个时,数据表 API 提供的 r_start 值为 NaN。我通常可以通过手动设置范围来对此进行编码,但我无法从 django 知道单击了哪个按钮(最后一个范围或下一个范围)而不做一些愚蠢的 jquery。

这个数据表几乎是从我的程序的另一部分复制的,它工作得很好,我只是改变了一些Python代码来吐出一个不同的对象列表......所以我很困惑为什么这会破坏。

我想我的问题是,除了传递 NaN 之外,如何使数据表在“下一个”上发送更有用的值以及为什么下一个/最后一个按钮被模糊?

最佳答案

除了recordsTotal之外,您还需要返回recordsFiltered参数。

response_data['recordsTotal'] = objects.count()
response_data['recordsFiltered'] = objects.count()

由于您没有执行搜索,recordsFiltered 参数值应等于 recordsTotal

关于jquery - DataTables 下一个按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40267411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com