什麼是 AJAX ?
AJAX 是「Asynchronous JavaScript and XML」(非同步的 JavaScript 與 XML 技術)的縮寫,簡單說就是網頁不用重新整理,就能即時地透過瀏覽器去跟伺服器溝通,撈出資料。
- Asynchronous:非同步
- JavaScript:使用的程式語言
- XML:Client 與 Server 交換資料用的資料與方法,近年由於 JSON 等格式的流行,使用 Ajax 處理的資料並不限於 XML。
同步請求 v.s. 非同步請求
接著讓我們引入客戶端與伺服器端的概念,來看看「同步請求」和「非同步請求」的對比:
同步請求 (Synchronous request): 客戶端 (client) 對伺服器端 (server) 送出 request ,並且在收到伺服器端的 response 之後才會繼續下一步的動作,等待的期間無法處理其他事情。這個作法並不理想,因為通常伺服器端的運算速度比本地電腦慢上好幾倍。
非同步請求 (Asynchronous request):客戶端 (client) 對伺服器端 (server) 送出 request 之後,不需要等待結果,仍可以持續處理其他事情,甚至繼續送出其他 request。Responese 傳回之後,就被融合進當下頁面或應用中。
常見問題 : get 與 post 的差異
- get:從瀏覽器發出請求,伺服器會回傳資料(在 responseText 裡面回傳一個物件)。
- post:從瀏覽器發出請求,傳送資料時註明格式,若選擇用表單格式,則傳送資料的內容要仿照表單傳送後的網址*。
*也就是欄位1 name = 使用者輸入的值1 & 欄位2 name = 使用者輸入的值2 etc.
Ajax Method
Api 設計過程中,很常需要配合幾個medth 互換使用。API設計模式可以參考 RESTful
- POST : 新增
- GET : 讀取
- PUT/PATCH : 更新
- DELECT :刪除
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 John Conte!
評論
DisqusGitalk