Имя поля в JSON, но таблицы данных его не распознают? - PullRequest
0 голосов
/ 14 ноября 2018

Сообщение об ошибке выглядит следующим образом:

Запрошенный неизвестный параметр 'emPONumber' для строки 0, столбца 0

Но emPONumber находится в JSON, почему таблицы данных по-прежнему вызывают эту ошибку?

<script type="text/javascript">
    $(document).ready(function () {
        var tableId = 'tablePurchaseOrders';
        var table = $('#' + tableId).DataTable({
            "processing": true,
            "serverSide": true,
            "ajax": {
                url: 'http://localhost/ControlTower2WebAPI/api/PurchaseOrder/GetAllUploadedPurchaseOrders',
                type: 'GET',
                data: function (data) {
                    //debugger;
                    var model = {
                        draw: data.draw,
                        start: data.start,
                        length: data.length,
                        columns: data.columns,
                        search: data.search,
                        order: data.order
                    };
                    return model;
                },
                failure: function (result) {
                    debugger;
                    alert("Error occurred while trying to get data from server: " + result.sEcho);
                },
                error: function (XMLHttpRequest, textStatus, errorThrown) {
                    debugger;
                    alert("Error occurred while trying to get data from server!");
                },
                dataSrc: function (json) {
                    var _data = JSON.stringify(json.Data);
                    debugger;
                    return _data;
                }
            }
            ,
            "columns": [
                { "data": "emPONumber", title: "emPONumber" },
                { "data": "ASMPONumber", title: "ASMPONumber" },
                { "data": "material", title: "material" }
            ]
        });
    });
</script>

json в dataSrc: function (json):

{"ContentEncoding":null,"ContentType":null,"Data":{"draw":1,"recordsTotal":1,"recordsFiltered":1,"data":[{"emPONumber":"EM1234567","ASMPONumber":"A741000013","material":"26-00010","quantity":5,"UOM":"EA","asmPOQuantity":5,"createBy":"m","ASMPOYear":2018,"ASMPOMonth":6,"ASMPOVendor":"10008"}]},"JsonRequestBehavior":1,"MaxJsonLength":null,"RecursionLimit":null}

json (_data) возврат по ajax в dataSrc:

{
    "draw":1,   
    "recordsTotal":1,
    "recordsFiltered":1,
    "data":
        [{
            "emPONumber":"EM1234567",
            "ASMPONumber":"A741000013",
            "material":"26-00010",
            "quantity":5,
            "UOM":"EA",
            "asmPOQuantity":5,
            "createBy":"m",
            "ASMPOYear":2018,
            "ASMPOMonth":6,
            "ASMPOVendor":"10008"
        }]
}

1 Ответ

0 голосов
/ 14 ноября 2018

Попробуйте

dataSrc: function (json) {
   for(key in json.Data){ json[key] = json.Data[key]; }
   delete json['Data'];

   return json.data;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...