【发布时间】:2019-04-16 11:40:58
【问题描述】:
我有一个 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 }
]
});
第一次调用返回的数据正是我想要的,但多次请求会使情况变得更糟。
【问题讨论】:
-
一些代码怎么样?
-
默认情况下,单独的分页不会在页面更改时发出多个 AJAX 请求。如果不按照@Katie.Sun 的建议查看您的代码,我们将无法真正帮助您
-
@Katie.Sun 查看代码
-
这些 ajax 请求何时触发?
标签: javascript jquery ajax asp.net-mvc datatables