大家好,我正在使用 jQuery DataTable 并執行服務器端分頁和排序。我被困在一個地方,我有 POST 型別的 API,所以我需要在 Body 中發送我的有效負載。
POST我在 ajax 中嘗試了方法,但它一直拋出415狀態代碼,即 payload 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 狀態代碼并正確發送有效負載?請幫忙
uj5u.com熱心網友回復:
您不會從以下位置回傳任何東西:
"data": function (d) {
d.status = "Active";
d.field = "";
d.order = "asc";
},
因此,根據該選項的檔案ajax.data:
如果函式沒有回傳值(即
undefined) ,則由 DataTables 傳遞給函式的原始資料物件將用于請求(函式可能已經操縱了它的值)。如果回傳一個物件,則該物件將用作請求的資料。發送前不會與DataTables構造的原始資料物件合并。
嘗試:
"data": function (d) {
const extraPayload = {};
extraPayload.status= "Active";
extraPayload.field = "";
extraPayload.order="asc";
return {...d, ...extraPayload}
},
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/467544.html
標籤:javascript jQuery 阿贾克斯 数据表
下一篇:如何“向后”搜索字串?
