https://www.hangge.com/blog/cache/detail_1980.html
四、Ajax請求數據之:一次性全部獲取
1,條目爲數組的情況
(1)假設服務器上數據文件(data.txt)裏的數據如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
|
(2)我們只需要通過 ajax 配置項制定請求的地址即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
(3)運行結果如下:
2,條目爲對象的情況
(1)假設服務器上數據文件(data.txt)裏的數據如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
(2)頁面代碼如下。可以看到除了通過 ajax 配置項指定請求的地址,還要設置下每列綁定的屬性。
1 2 3 4 5 6 7 8 |
|
五、Ajax請求數據之:服務端分頁
前面的樣例中,分頁都是在客戶端這邊做的。但如果數據量特別大(上萬條),建議在後臺做分頁。也就是說前臺每次只讀取當前一頁的數據。雖然這樣做會增加代碼複雜度,但可以讓頁面響應更快。
1,客戶端代碼
- 這次的 Ajax 我們使用對象來配置。這種方式更加靈活且功能更強大些。
- 服務端返回的數據條目同上面一樣,可以是數組也可以是對象,這裏我以對象爲例。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
|
2,服務端代碼(data.php)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
|
3,效果圖
(1)運行效果如下:
(2)同時通過請求抓取可以發現:不管是進行翻頁操作、或是改變每頁條目數、或是輸入搜索內容、或是點擊列頭排序,表格都會發起請求並刷新數據。
(3)而服務端返回的數據如下:
附一:對返回的數據進行處理
1,基本介紹
有時從服務器上獲取到的數據可能無法直接用於表格顯示,需要先做些轉換處理。這個只需通過 ajax.dataSrc 配置屬性即可實現。
2,使用樣例
(1)這裏我們將返回結果中,所有的姓名前都加個“@”符號。
(2)代碼如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
附二:刷新數據(重新加載數據)
1,不改變原來的 url
注意:第二個參數設爲 false 的話,會保持當前的選中頁。
1 2 3 4 |
|
2,改變 url
1 2 |
|
附三:禁止表格初始化時就去自動請求數據
1,問題描述
默認情況下,如果我們配置了 ajax 地址,當表格初始化後它便會自動發起 ajax 請求去獲取數據。但有的時候我們並不希望它一開始就自動請求數據,而是手動控制它去請求(比如點擊一個按鈕後再發起請求)。
2,解決辦法
(1)首先通過 iDeferLoading 和 serverSide 這兩個屬性設置,讓表格不會自動發起請求。
1 2 3 4 5 |
|
(2)後面如果想請求數據時,調用 draw() 方法即可。
1 |
|
(3)除了 draw() 方法,使用前面介紹的刷新數據方法也是可以的。
1 2 3 4 5 6 7 8 9 |
|
原文出自:www.hangge.com 轉載請保留原文鏈接:https://www.hangge.com/blog/cache/detail_1980.html