首页 > 解决方案 > 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`

如果我使用 Postman 进行 POST 以http://localhost:8081/services/test获取页面上的 json。

为什么我得到unknown parameter

标签: javascriptjavaspringdatatables

解决方案


为什么要使用 POST 方法来获取信息?我认为你应该只使用简单的 GET。

对于您的数据表,您需要对象列表。在您的控制器中,您有对象列表的列表。


推荐阅读