我正在尝试使用数据表为 AJAX POST 请求实现服务器端分页
这是我的 Javascript 代码,如果我将 JSON.stringify 用于数据字段,那么 api 将不会命中
$('#tripboard_table').DataTable({
proccessing: true,
serverSide: true,
ajax: {
"url": "http://localhost:5000/api/v1/trip/get-trip-list",
"contentType": "application/json; charset=utf-8",
"type": "POST",
"dataType": "json",
"data": {
"driver_id": "",
"franchise_id": login_data.franchise_id,
"page_no": 0,
"page_size": 10
}
},
columns: [
{ "data": "" },
{ "data": "reference_number" },
{ "data": "consignor_name" },
{ "data": "consignee_name" },
{ "data": "from_city" },
{ "data": "to_city" },
{ "data": "status" },
{ "data": "route_name" },
{ "data": "vehicle_number" },
{ "data": "driver_name" },
{ "data": "pickup_date" },
{ "data": "scheduled_delivery_date" },
{ "data": "total_money_allocated" },
{ "data": "total_money_released" }
]
});
如果我们从数据中删除 JSON.stringify 函数并按原样传递数据,那么 api 会被命中并显示错误警报
DataTables warning: table id=tripboard_table - Ajax error. For more information about this error, please see http://datatables.net/tn/7
并且表中没有插入数据。 在控制台中显示
Method Not Allowed The method is not allowed for the requested URL.
请为此提出解决方案..
最佳答案
使用它来添加到数据表的现有请求
function (d) {
d.driver_id = "";
d.franchise_id = login_data.franchise_id;
d.page_no = 0;
d.page_size = 10;
return d;
}
https://datatables.net/manual/server-side#Sent-parameters
$('#tripboard_table').DataTable({
proccessing: true,
serverSide: true,
ajax: {
"url": "http://localhost:5000/api/v1/trip/get-trip-list",
"contentType": "application/json; charset=utf-8",
"type": "POST",
"dataType": "json",
"data": function (d) {
d.driver_id = "";
d.franchise_id = login_data.franchise_id;
d.page_no = 0;
d.page_size = 10;
return JSON.stringify(d)
});
}
},
columns: [
{ "data": "" },
{ "data": "reference_number" },
{ "data": "consignor_name" },
{ "data": "consignee_name" },
{ "data": "from_city" },
{ "data": "to_city" },
{ "data": "status" },
{ "data": "route_name" },
{ "data": "vehicle_number" },
{ "data": "driver_name" },
{ "data": "pickup_date" },
{ "data": "scheduled_delivery_date" },
{ "data": "total_money_allocated" },
{ "data": "total_money_released" }
]
});
关于javascript - 如何使用 Datatable 以 POST 类型传递请求正文数据以使用 Javascript 进行服务器端分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66653753/