DataTables-请求的未知参数

时间:2019-10-31 13:54:13

标签: javascript java spring 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对http://localhost:8081/services/test进行POST,则会在页面上看到json。

为什么我得到unknown parameter

1 个答案:

答案 0 :(得分:1)

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

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