我在我的MVC应用程序中使用jquery datatables serverside。当我给我的控制器方法“FillTable”设置一个断点时,执行只能在IE上第一次到达。如果我返回并重新加载页面并且数据不同,则不会调用该函数。当我尝试使用Firefox时,每次重新加载时都会遇到断点而没有任何问题。这是我的代码。
$(document).ready(function() {
$('.details').dataTable({
"bServerSide": true,
"bProcessing": true,
"sPaginationType": "full_numbers",
"sAjaxSource": "../PrepareStatements/FillTable",
"aoColumns": [
{ "sTitle": "#" },
{ "sTitle": "Date" },
{ "sTitle": "Remarks" },
{ "sTitle": "Dr/Cr" },
{ "sTitle": "Amount"}]
});
});
我的数据表是
<table width="100%" class="details" id="eDataTable"></table>
但是,如果我更改显示行数,请单击分页或执行搜索。有人可以帮我这个。
答案 0 :(得分:2)
好的,我找到了解决方案。您必须添加POST,因为IE倾向于使用GET请求缓存数据结果。我已将以下内容添加到我的函数中,现在它可以正常工作。
$(document).ready(function() {
$('.details').dataTable({
"bServerSide": true,
"bProcessing": true,
"sPaginationType": "full_numbers",
"sAjaxSource": "../PrepareStatements/FillTable",
"fnServerData": function(sSource, aoData, fnCallback) {
$.ajax({ "dataType": 'json',
"type": "POST",
"url": sSource,
"data": aoData,
"success": fnCallback
});
},
"aoColumns": [
{ "sTitle": "#" },
{ "sTitle": "Date" },
{ "sTitle": "Remarks" },
{ "sTitle": "Dr/Cr" },
{ "sTitle": "Amount"}]
});
});