jquery 数据表 ajax 属性

问题描述 投票:0回答:3

我想使用数据表的ajax属性从Web服务填充jquery数据表,所以我仍然可以进行客户端处理。

我在想这样的事情:

$('#example').dataTable( 
{ "ajax": { "url": "../.NET webservice", "type": "POST" } } );

如果可以的话,我需要从 .NET Web 服务返回数据作为数组的数组?

例如

{ "data": [ [ "Tom", "Utah", "Koala", "Kite"],

["Bob", "New Mexico", "Kangaroo", "Kite"] ] }

您能确认一下吗? 我没有看到任何很好的例子来说明如何做到这一点。

提前致谢...

jquery ajax datatables
3个回答
0
投票

您可以使用以下方式获取服务器数据

$("#example").dataTable({
    "sAjaxSource" : "../.NET",
    "fnServerData" : function(sSource, aoData, fnCallback) {
         aoData.push({
                    "name" : "param1",
                    "value" : val1
                }, {
                    "name" : "param2",
                    "value" : val2
                });
         $.getJSON(sSource, aoData, function(json) {
                        fnCallback(json)
                    });
                }
});

或者您可以使用:-

$("#example").dataTable({
    "sAjaxSource" : "../.NET?param1=value&pram2=value2"
});

唯一的一点是响应应该是来自服务器的 json 格式。


0
投票

像这样调用ajax是可能的。

$('#example').dataTable( { "ajax": { "url": "../.NET webservice", "type": "POST" } } );

但是 datatable 能够从任何 json 读取数据,因此这取决于您希望服务以哪种形式返回数据。您只需要根据您的服务发送的数据来处理数据。最好的方法是发送对象数组。


0
投票

我使用一个函数,作为“ajax”数据表选项传递:

function getData(data, callback, settings) {
    // settings contain info about data start index, number of records to request, sorting options, etc...
    //settings._iDisplayLength, settings._iDisplayStart

    // got some data into arrayOfData (via ajax request)
    callback({ data: arrayOfData, recordsTotal: totalRecordsCount, recordsFiltered: totalRecordsCount });
}
var dataTableOptions = {
    // some column settings
    // and ajax settings:
    processing = true;
    serverSide = true;
    ajax = getData;
}
$(dataTableTargetElement).dataTable(dataTableOptions);
© www.soinside.com 2019 - 2024. All rights reserved.