【发布时间】:2026-01-16 10:40:01
【问题描述】:
我有一个这样初始化的数据表:
var _initTable = function() {
$('#datatablesresults tr').not(':first').on('click', function() {
var dateandtime = $(this).find(':nth-child(3)').text();
window.location.href = '/results/detail/dateandtime/' + dateandtime;
});
};
$('#datatablesresults').dataTable({
bProcessing : true,
sProcessing : true,
bServerSide : true,
sAjaxSource : '/results/load-results',
fnServerParams: function ( aoData ) {
aoData.push( {"name": "quizid", "value": quizid },{ "name": "questionid", "value": questionid } );
},
aoColumnDefs : [{'bSortable' : false, 'aTargets' : ['no-sort']}], // make the actions column unsortable
sPaginationType : 'full_numbers',
fnDrawCallback : function(oSettings) {
_initTable();
}
});
当我点击一个按钮时,我想重新加载表格中的数据(进行 ajax 调用)
$('.carousel-control.right').click(function() {
var currentquestion = $('#myCarousel .active').index('#myCarousel .item') + 1;
var question = currentquestion + 1;
var quizid = <?= json_encode($quizid); ?>;
var activediv = $('.item').filter('.active');
var questionid = activediv.index() + 2;
var questionclass = ".question" + questionid;
var questionid = $(questionclass).attr("id");
var getParams = "quizid=" + quizid +"&questionid=" + questionid;
$("#datatablesresults").dataTable().fnReloadAjax("/results/load-results?" + getParams);
});
但数据保持不变......在这里你可以看到我的 ajax 调用:
第一个是我的页面加载时。第二个是我的ajax刷新,重新发送的数据与另一个不同。但是你看到还有另一个覆盖数据的ajax调用......:/
有谁知道我做错了什么?
编辑:我做了一个 jsfiddle:http://jsfiddle.net/8TwS7/
【问题讨论】:
-
分配给
window.location.href会重新加载页面,是这样吗? -
仅当您单击表格中的一行时。而且我 100% 确定页面不会重新加载。
标签: javascript jquery ajax datatables