DataTable 1.12 - Server-side

2 月 7, 2023

--

參考資源

--

  • serverSide: true 開啟 Server-side
  • processing: true 開啟加載動畫,預設是 false,Hoyo 使用另外的加載方式,下面會講到
  • ajax 從 Server 取資料,DataTable 會提供資料起始、結束筆數,所以後端就不需要計算筆數起始很方便

--

ajax 傳遞參數

DataTable 的 Server-side ajax 一定要用變數傳遞過去,不能像 jQuery ajax 一樣使用 data: $('#id_form_search').serialize() 這樣將整個表單傳遞,

  • type: 'POST' HTTP method 如果沒有非 GET 不可都是 POST 不用討論
  • data: function(d){} 自定義搜尋條件時設定

--

一定要使用 .serialize()

如果一定要使用 .serialize() 那就必須繞個圈,將表單對應到一個變數內

ajax.php

使用 PHP parse_str() 就可以將 JavaScript serialize() 轉換回 PHP 的陣列

--

Ajax 事件

前面將 ajax 加載關閉,因為要換上自己的 ajax loader,這時就要套上 Event

一般使用的就是 preXhr.dt 執行 ajax 前以及 xhr.dt ajax 完成這兩個 event

--

彈窗訊息

如果 ajax 有回傳訊息需要顯示或處理,也是使用 xhr.dt event 來處理

這裡的範例剛好和我的使用環境一致,直接使用即可

--

 277 total views,  1 views today

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。