- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个在 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/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!