## 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才能讓其他的應用程式或裝置存取服務