DataTables - запрошенный неизвестный параметр - PullRequest
0 голосов
/ 31 октября 2019

Это мой первый раз, когда я пытаюсь использовать DataTables, и я не понимаю, что я делаю неправильно.

Это DataTables:

var table = $('#kt_table_1');
table.DataTable({
    responsive: true,
    searchDelay: 500,
    processing: true,
    serverSide: true,
    ajax: {
        "url": "http://localhost:8081/services/test",
        "type": "POST"
    },
    order: [[2, "desc"], [0, "desc"], [6, "asc"]],
    columns: [
        {data: "externalId"},
        {data: "shippingName"},
        {data: "date"},
        {data: "trackingNumber"},
        {data: "shippingCost"},
        {data: "shippingDetails"},
        {data: "status"}
    ]
});

Это HTML:

<table id="kt_table_1"></table>

И вот что я возвращаю из Spring App:

@RequestMapping(value = "/test", method = RequestMethod.POST)
public ResponseEntity<String> getOrders(){

    String jsonResponse =
            "{" +
                "\"draw\": 1, " +
                "\"recordsTotal\": 1, " +
                "\"recordsFiltered\": 1, " +
                "\"data\": [ " +
                    "[" +
                        "{" +
                            "\"externalId\": \"11111\", " +
                            "\"shippingName\": \"Foo\", " +
                            "\"date\": \"2019-10-22\", " +
                            "\"trackingNumber\": \"TR123123\", " +
                            "\"shippingCost\": \"2.35\", " +
                            "\"shippingDetails\": \"Country-Name\", " +
                            "\"status\": \"1\"" +
                        "}" +
                    "]" +
                "]" +
            "}";

    return ResponseEntity.ok().contentType(MediaType.APPLICATION_JSON_UTF8).body(jsonResponse);

}

Но когда я захожу на страницу с таблицей, я получаю предупреждение с сообщением:

DataTables warning: table id=kt_table_1 - Requested unknown parameter 'externalId' for row 0, column 0. 
For more information about this error, please see http://datatables.net/tn/4`

Если я использую Почтальон, чтобы сделать POST для http://localhost:8081/services/test, я получаю json на странице.

Почему я получаю unknown parameter?

1 Ответ

1 голос
/ 31 октября 2019

Почему вы используете метод POST для получения информации? Я думаю, что вы должны использовать просто GET.

Для ваших данных вам нужен список объектов. В вашем контроллере у вас есть список списков объектов.

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