[英]Prevent multiple ajax calls from jquery datatable on server side pagination
我有一個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成功方法上將數據添加到表中,即使我已經為其定義了列定義。 刪除成功方法可以解決問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.