[英]How to post data to API in jQuery DataTable ajax?
大家好,我正在使用 jQuery DataTable 并执行服务器端分页和排序。 我被困在一个地方,我有 API 类型的 POST,所以我需要在 Body 中发送我的有效负载。
我在 ajax 中尝试了POST
方法,但它一直抛出415
状态代码,即有效负载format is in an unsupported format
。 我注意到我的有效负载以表单数据的形式发送。 我该如何解决这个问题?
这是我的代码-
$(document).ready(function () {
$('#dataTable').DataTable({
columns: [
{ "data": "FirstName" },
{ "data": "LastName" },
{ "data": "PhoneNumber" },
{ "data": "Address1" },
{ "data": "Email" },
{ "data": "Fax" },
{ "data": "Calls" },
{ "data": "Address2" },
{ "data": "Deal status" },
{ "data": "Conversations" }
],
"processing": true,
"serverSide": true,
"ajax":{
"url": "myAPI",
"dataType": 'application/json',
"type": "POST",
"beforeSend": function(xhr) {
xhr.setRequestHeader("Authorization", "Bearer Token");
},
"data": function (d) {
d.status= "Active";
d.field = "";
d.order="asc";
},
dataFilter: function(data) {
var json = jQuery.parseJSON( data );
json.recordsTotal = json.totalElements;
json.recordsFiltered = json.totalElements;
json.data = json.content;
console.log("total data",json);
return JSON.stringify( json ); // return JSON string
}
}
});
});
如何解决此 415 状态代码并正确发送有效负载? 请帮忙
您不会从以下位置退回任何东西:
"data": function (d) {
d.status = "Active";
d.field = "";
d.order = "asc";
},
因此,根据ajax.data
选项的文档:
如果 function 没有返回值(即
undefined
),则DataTables 传递到 function 的原始数据 object 将用于请求(function 可能操纵了它的值)。如果返回 object,则该 object 将用作请求的数据。 发送前不会与DataTables构造的原始数据object合并。
尝试:
"data": function (d) {
const extraPayload = {};
extraPayload.status= "Active";
extraPayload.field = "";
extraPayload.order="asc";
return {...d, ...extraPayload}
},
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.