## Web API * 因應前後端分離的趨勢,利用中介資料傳輸媒介,將後端資料庫撈取後的資料,統一格式後傳送到前端使用。 * API設計要能滿足多平台(如web, iOS, Android, Windows APP, Mac APP),使用共通資料格式json, xml, html, txt (json最受歡迎) * https://ithelp.ithome.com.tw/articles/10231011 --- ## RESTful API * **Re**presentational **S**tate **T**ransfer * 一種全球資訊網軟體架構風格,目的是便於不同軟體/程式在網路(例如網際網路)中互相傳遞資訊 * HTTP **Method**有:GET, POST, PUT, DELETE * HTTP **狀態碼**有:2xx(Succcess), 3xx(Redirect), 4xx(User error), 5xx(Server error) * Web API像是餐廳中的服務生,而RESTful的風格,就是從加點、查看已點菜色、修改已點菜色、取消已點菜色,都由**同一個服務生完成**。 --- ## AJAX * **A**synchronous **J**avaScript **A**nd **X**ML * AJAX應用可以僅向伺服器傳送並取回必須的資料,並在客戶端採用JavaScript處理來自伺服器的回應。減少每送出一個Request就跟伺服器要一次Response的效能浪費。 * AJAX請求方式: 1. jQuery $.ajax() $.get() $.post() 3. 套件axios 4. 原生XMLHttpRequest 5. 原生Fetch --- ## CORS問題的解決 * **C**ross-**O**rigin **R**esource **S**haring * 大多數的網站會遵守同源政策(Same-origin policy) * 公開的網頁服務或API必須開放CORS才能讓其他的應用程式或裝置存取服務