最近項目在用需要用表格,聽說DataTables很好很強大,於是用了一下。
Get請求沒什么問題,問題處在POST請求上
Jquery原生的POST請求沒有問題,代碼如下
$.ajax({
url:getDatumArticlesURL,
type:"POST",
contentType: "application/json",
dataType: 'json',
data :JSON.stringify({datumId:1}) ,
success:function(result){
console.log(result);
}
});
Datable的POST的請求的payload是錯誤的 具體情形是這樣:0=%7B&1 代碼是這樣的
ajax: {
type: "POST",
url: getDatumArticlesURL,
contentType: "application/json",
dataType: 'json',
//
data :JSON.stringify({datumId:1}) ,
data:function(d){
d.datumId=222;
return JSON.stringify(d)
//
return '{"datumId":1}';
},
標黃色的請求是出現問題的請求,而綠色的是正確的請求,什么意思呢?簡單的說 DataTable的POST請求如果想得到正確的請求體需要傳String 並且作為一個函數返回, 而不是obj,不確認是不是BUG,應該是就這么規定的,總之現在是1.10.15,仍然存在這個問題
我這么一個二手前端也說不明白,直接上個截圖吧,國外的大神有關於這個問題和官方的對話