Ajax

非同步的 JavaScript 與 XML 技術

Chun
3 min readJun 23, 2020

同步的載入:重新整理頁面時,頁面上的所有東西一起載入進來。

非同步的載入:按下某些按鈕或是觸發某些動作時,讓新的東西進來,然後動態的更新 HTML 和 CSS。

AJAX

Asynchronous JavaScript and XML),非同步的頁面資料載入技術。

XMLHttpRequest

用來向其他瀏覽器撈取資料的物件。

打開 console 查看,會出現他裡面相對應的資料。

readyState

目前的狀態,分為 0~4 :

0 : 已產生一個 XMLHttpRequest 物件,但是還沒有連結到其他伺服器

1 : 使用.open,但還沒有把資料傳送過去

2 : 已產生一個 XMLHttpRequest 物件,但是還沒有連結到其他伺服器

3 : Loading 中(可能資料過於龐大)

4 : 已撈取到資料,數據已經完全接收到了。

.open ( )

利用 open 傳參數的語法,來「讀取」或「傳送」資料到遠端伺服器。這裡只是設定好動作,還不會真的讀取或傳送資料。

xttp.open (‘格式’ , ‘要讀取的網址’, 同步與非同步)常用格式: 
get (讀取資料)
post(傳送資料到伺服器 例如:確認此帳號是否已被註冊)

此時查看 console,會發現 readyState 變成 1。而 responseText 仍然為空的。

.send ( )

沒有打算產生任何資料過去時,可以直接給「null」(空值)。

xttp.send(null); // 給空值 
// 因為前面的設定是讀取資料,不是傳送資料

此時 readyState 變成 4。而 responseText 則會成功撈取遠端網址內的資料了。

小結:

XMLHttpRequest 有點像是 取得一台電話,才可以撥打電話。
open「開啟一個設定」,也就像是輸入號碼,但還沒有按撥打按鈕。
而 send「與伺服器做對接傳送」,就是按下撥打按鈕並接通了!。

--

--

No responses yet