[英]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.