1

我正在尝试从 ASP.NET Web Api 控制器返回的 JSON 结果构建 Jquery DataTables。

我在初始页面加载时得到结果,但是当我单击对列、分页等进行排序时......没有结果。好像我的 DataTable 无法加载 JSON。

这是我的代码,在此先感谢您提供的任何帮助:

var apiUrl = 'api/dockets?beginning_date=10/28/2013';

$(document).ready(function () {
    $('#results-list').dataTable({

        "bProcessing": true,
        "bServerSide": true,
        "sAjaxSource": "/api/dockets"

    });
    // Send an AJAX request
    $.getJSON(apiUrl)
        .done(function (data) {

            $.each(data, function (key, item) {

                $('<tr><td>' + item.LastName + ', ' + item.FirstName + '</td><td>' + item.CaseNumber + '</td><td>' + item.CaseStatus + '</td><td>' + item.CourtSessionDate + '</td><td>' + item.CourtSessionStartTime + '</td><td>' + item.AppearanceReason + '</td><td>' + item.CourtRoom + '</td><td>' + item.OffenseDescription + '</tr>').appendTo("#results-list tbody");
            });
        });
});
4

1 回答 1

3

好的,得到这个工作。比我想象的要容易。

显然,如果您使用“sAjaxSource="mySource/",那么您不需要额外的 jquery JSON 调用。

此外,将 var oTable 包装器添加到我的 dataTable 调用中,并使用 mData 定义我的列:

$(document).ready(function () {
   var oTable = $('#results-list').dataTable({
        "bFilter": false,
        "bProcessing": true,
        "sAjaxDataProp": "",
        "aoColumns": [
        { "mData": "LastName" },
        { "mData": "CaseNumber" },
        { "mData": "CaseStatus" },
        { "mData": "CourtSessionDate" },
        { "mData": "CourtSessionStartTime" },
        { "mData": "AppearanceReason" },
        { "mData": "CourtRoom" },
        { "mData": "OffenseDescription" }
        ],
        "sAjaxSource": "api/dockets?beginning_date=10/30/2013",
        "bInfo": false
    });
});
于 2013-10-29T18:21:32.697 回答