javascript - 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
?
解决方案
为什么要使用 POST 方法来获取信息?我认为你应该只使用简单的 GET。
对于您的数据表,您需要对象列表。在您的控制器中,您有对象列表的列表。
推荐阅读
- mysql - SQL 游标确定中值
- scheme - 将已知参数传递给 Scheme 函数
- java - 使用单个可运行的 3 个线程连续打印 1 、 2 、 3 不起作用
- mysql - mysql“等待表元数据锁定”上的单个连接到 DROP INDEX
- html - 如何使用 Nokogiri 在 span 标签之间打印文本?
- ios - datePicker 未显示在所需位置
- webstorm - 使用 Flow 作为 JavaScript 语言时参考的 WebStorm 慢速导航
- python - Pandas:按列条件拆分
- angular - Angular 6 中 ng2-file-upload 的进度条
- css - 减轻另一个类的背景颜色