iT邦幫忙

2021 iThome 鐵人賽

DAY 19
0
Modern Web

JavaScript 筆記 2 版系列 第 19

JavaScript Day19 - AJAX(1)

  • 分享至 

  • xImage
  •  

AJAX

  • AJAX(Asynchronous JavaScript And XML):使用非同步資料請求的縮寫,代表非同步 JS 和 XML
  • 參考第一版的 Day27 - AJAX(01)
  • 同步、非同步:一開始跟我原本的想法有落差,會覺得同步就是多項同時,但其實不是如此
    • 同步:同一時間只做一件事情,同一條步道(線)上,一個接一個,要等上一個完成
    • 非同步:同一時間不只做一件事情,不同條步道(線)上,各自處理,不等待

XMLHttpRequest

  • XMLHttpRequest:基本流程參考範例與之前的筆記,基本上現在比較少用 XMLHttpRequest
  • 送出一個 HTTP 請求 (request) 如下 (from MDN)
    • 建立一個 XMLHttpRequest 物件
    • 開啟一個 URL,並發起一個請求
    • 在交易(transaction)完成後,XMLHttpRequest 物件將會包含如回應內容(response body)及 HTTP 狀態等等請求結果中的有用資訊
const xhr = new XMLHttpRequest();
// xhr.readyState; // 顯示 0

xhr.open('get','https://hexschool.github.io/ajaxHomework/data.json',true);
// xhr.readyState; // 顯示 1

xhr.send(null);
// xhr.readyState; // 顯示 4

xhr.response; // 顯示 "[{"name":"王小名"}]"

參考資料

使用 XMLHttpRequest
JavaScript AJAX (Asynchronous JavaScript and XML)

HTTP 狀態碼

  • HTTP 狀態碼 (HTTP response status codes):表示一個 HTTP 的要求是否已經被完成
  • 資訊回應 (Informational responses):100–199
  • 成功回應 (Successful responses):200–299
    • 200:OK,請求成功
  • 重定向 (Redirects):300–399
    • 304:Not Modified,未修改,使用原本的檔案,用在快取(緩存)
  • 用戶端錯誤 (Client errors):400–499
    • 404:Not Found,伺服器找不到請求的資源
  • 伺服器端錯誤 (Server errors):500–599
    • 500:Internal Server Error,伺服器端發生未知或無法處理的錯誤

參考資料

HTTP 狀態碼
網頁開發人員應了解的 HTTP 狀態碼

次回

繼續 AJAX 吧


上一篇
JavaScript Day18 - 陣列操作(filter、find、findIndex)
下一篇
JavaScript Day20 - AJAX(2)
系列文
JavaScript 筆記 2 版31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言