我有一个jquery dataTable,它使用ajax向MVC控制器发送请求并显示数据。 它可以在客户端处理中很好地工作,但是响应时间太慢,因为它会检索所有记录。
为使其更快,需要服务器端分页。 服务器端分页的问题在于,在jquery数据表中将服务器端分页设置为true会发出多个ajax请求。
我已经对其进行了大量调试,但无法弄清楚导致多个ajax请求的问题。我已经实现了Google提供的许多不同方式,但没有任何效果。
如何使用服务器端分页使其工作? 如何防止多次ajax调用? (表在document.ready()下初始化)
document.ready(function() {
$("#myTable").DataTable({
"processing": true, // for show progress bar
"serverSide": true, // for process server side
"orderMulti": false, // for disable multiple column at once
"ajax": {
"url": "/home/LoadData",
"type": "Get",
"datatype": "json"
"data":{ date:'date'},// parameter on controller to filter records
},
"columns": [
{ "data": "ContactName", "name": "ContactName", "autoWidth": true },
{ "data": "CompanyName", "name": "CompanyName", "autoWidth": true },
{ "data": "Phone", "name": "Phone", "autoWidth": true },
{ "data": "Country", "name": "Country", "autoWidth": true },
{ "data": "City", "name": "City", "autoWidth": true },
{ "data": "PostalCode", "name": "PostalCode", "autoWidth": true }
]
});
第一次调用返回的数据正是我想要的,但是多次请求使情况变得更糟。
答案 0 :(得分:0)
即使我已经为ajax成功方法定义了列定义,我仍将数据添加到表中。 删除成功方法可以解决问题。