---
# System prepended metadata

title: AJAX

---

# AJAX


# AJAX 串 API
# 使用XMLHttpRequsest(原生寫法)
1. 宣告啟用AJAX
   let xhr=new XMLHttpRequest;
   
2. 使用open打開API('用什麼方式打開','要打開的API路徑')
   xhr.open('get','https://kktix.com/events.json')
   
3. 將API內容 加載 進網頁
   xhr.onload=function(){
   let type=getResponseHead('Content-Type') // 用於檢視響應頭(內容類型)為何
   let status=xhr.status // 用於檢視xhr的狀態
   let res=responseText // 用於檢視響應的API文本內容 // 若API內容是中文會被拆為英數碼
   let data=JSON.parse(res) // 對JSON檔 解析(內容)
   console.log('type','status','data')
   }
   
4. 將該xhr的請求發出
   xhr.send();
   
# 何謂資料交換格式 JSON
- JSON : 
  Java Script Object Nocation 又稱 輕量資料交換格式
- 何謂資料交換格式 : 
  資料交換格式有百百種, 如Word.Excel等  都是一種資料交換格式
  *舉例 : 
  1.行為:和銀行領錢 
  2.資料交換格式:支票 申領單 等...
  3.結果:拿到錢
- 資料交換格式 和 輕量資料交換格式 差異:
  原本瀏覽器用XML的資料交換格式, 但由於太笨重
  推出的JSON的輕量資料交換格式, 其內容只有屬性和值 所以易於閱讀和處理且輕量
  JSON是純字串的格式, 所以不依賴任何程式語言, 不屬於任何程式語言
  所以幾乎各個程式語言都可以使用該純字串格式, 所以才會被泛用
- 缺點: 
  純字串顯示 內容簡單 所以不好加密 安全性較差, 所以用JSON傳輸的資料 安全性要自己做 
  