【问题标题】:jQuery DataTables POST Server Side Json errorjQuery DataTables POST 服务器端 Json 错误
【发布时间】:2015-11-02 08:44:40
【问题描述】:

我的表格没有通过 ajax 正确加载。

这是我的 js:

$('#initAjaxDataTable').DataTable( {
    "pagingType": "full_numbers",
    "processing": true,
    "serverSide": true,
    "ajax": {
        "url": $('#initAjaxDataTable').data('url'),
        "type": "POST"
    },
    language: {
        url: SITEURL + 'libraries/datatables/datatables.german.json'
    },
    "columnDefs": [
        { "data": "adressnummer", "defaultContent": "<i>Keine</i>", "targets": 0 },
        { "data": "name", "defaultContent": "<i>Keine</i>", "targets": 1 },
        { "data": "email", "defaultContent": "<i>Keine</i>", "targets": 2 },
        { "data": "street", "defaultContent": "<i>Keine</i>", "targets": 3 },
        { "data": "zip", "defaultContent": "<i>Keine</i>", "targets": 4 },
        { "data": "city", "defaultContent": "<i>Keine</i>", "targets": 5 }
    ]
} );

这是我从服务器返回的 JSON:

{"draw":1,"data":"[{"DT_RowId".........:}]","recordsTotal":24301,"recordsFiltered":50,"error":null}

数据简短示例:

[
{
    "DT_RowId": "row_1",
    "adressnummer": "9002",
    "name": "test data",
    "email": "",
    "street": "test 26",
    "zip": "16307 ",
    "city": "test",
    "DT_RowData": {
        "pkey": "1"
    }
},
{
    "DT_RowId": "row_2",
    "adressnummer": "9003",
    "name": "test data",
    "email": "",
    "street": "test 24",
    "zip": "16306 ",
    "city": "test",
    "DT_RowData": {
        "pkey": "2"
    }
},
{
    "DT_RowId": "row_3",
    "adressnummer": "9006",
    "name": "testtest data",
    "email": "",
    "street": "test17",
    "zip": "16306 ",
    "city": "test",
    "DT_RowData": {
        "pkey": "3"
    }
},
......

我的桌子:

<table class="table table-striped table-bordered " id="initAjaxDataTable" data-page-length="50" data-url="/importlist">
        <thead>
        <tr>
            <th>AdressNummer</th>
            <th>Name</th>
            <th>E-Mail</th>
            <th>Strasse</th>
            <th>PLZ</th>
            <th>Ort</th>
        </tr>
        </thead>

</table>

My Table 每列显示默认内容的 24301 倍。

我在版本 1.10.9 中使用 jquery 数据表,在版本中使用 jQuery 2.1.4

我做错了什么?

编辑:Json Lint 说我的 json 是有效的

【问题讨论】:

    标签: jquery json ajax post datatables


    【解决方案1】:

    我已经用以下代码解决了我的问题:

    "ajax": {
            "url": $('#initAjaxDataTable').data('url'),
            "type": "POST",
            "dataSrc": function (json) {
                json.data = jQuery.parseJSON(json.data);
                return json.data;
            }
        },
    

    我已将 dataSrc 属性添加到 ajax 并解析了我的 json

    【讨论】:

    • 或者可能只是"dataSrc": ""
    猜你喜欢
    • 1970-01-01
    • 2018-03-13
    • 2012-07-18
    • 2016-07-28
    • 2021-05-21
    • 1970-01-01
    • 2011-01-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多