簡體   English   中英

在服務器端分頁上防止來自jquery數據表的多個ajax調用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM