我們知道在傳統的**中存在著一些問題:
於是為了有效的解決問題就用到了ajax。
那麼什麼是ajax了?
ajax的一些常用的應用場景:
注意:
ajax技術需要執行在**環境中才能生效。
ajax的實現步驟:
1.建立ajax物件:
//請求方式和位址根據你們情況來選擇.
3.傳送請求:
xhr.
send()
;
4.獲取伺服器端給與客戶端的資料:
xhr.
onload
=function()
伺服器端響應的資料格式我們要知道伺服器端大多情況下會以json物件作為響應資料的格式,在http請求與響應的過程中,無論是請求引數還是響應內容,如果是物件型別,最終都會被轉換為物件字串進行傳輸。
所以我們要用到第乙個方法,
使用它就可以將我們接受到的響應資料 xhr.responsetext 轉換為json物件。
注意:我們現在是使用get請求方式,當要提交表單資料時,需要將表單中的各項資料加在請求位址中提交的,比如:
以?開頭,各項資料以屬性名,屬性值的形式並用&進行隔開。
但是啊,我們還有post請求方式,就又是不同的格式了。
post請求方式:
// 獲取使用者在文字框中輸入的值
var namevalue = username.value;
var agevalue = age.value;
// 拼接請求引數
// 設定請求引數格式的型別(post請求必須要設定)
xhr.
setrequestheader
('content-type',)
;// 傳送請求
xhr.
send
(params)
;// 獲取伺服器端響應的資料
xhr.
onload
=function()
我們看到post請求方式多了二個步驟,我們需要告訴是什麼型別資料,資料不再放在請求位址中,是放在send()裡面。
我們說到了要告訴伺服器端提交的資料型別,這裡使用了第一種資料型別,是一種各項資料以屬性名,屬性值的形式並用&進行隔開的資料,還可以傳遞乙個json物件。
// 1.建立ajax物件
;// 2.告訴ajax物件要向哪傳送請求,以什麼方式傳送請求
// 1)請求方式 2)請求位址
// 通過請求頭告訴伺服器端客戶端向伺服器端傳遞的請求引數的格式是什麼
xhr.
setrequestheader
('content-type',)
;// json.stringify() 將json物件轉換為json字串
// 3.傳送請求
xhr.
send
(json
.stringify()
);// 4.獲取伺服器端響應到客戶端的資料
xhr.
onload
=function()
我們這裡用到了乙個方法: json.stringify() ,他將我們傳遞的json物件轉換為字串,我們不能直接傳遞乙個json物件到伺服器端,我們在前面也說了http請求與響應的過程中,無論是請求引數還是響應內容,如果是物件型別,最終都會被轉換為物件字串進行傳輸。
我們在接收伺服器端響應的資料時,使用的事件除了onload事件外,還可以使用 onreadystatechange事件,這個事件是當ajax狀態碼發生變化時自動觸發該事件,先說說ajax狀態碼:
分別對應著ajax物件的每個步驟,在說回onreadystatechange事件:
這樣就可以代替onload事件, 在看二個的區別:
具體使用哪種,根據情況選擇。
Linux基礎一 關於bash命令
1 支援命令歷史 命令補全 路徑補全 2 支援管道 重定向 3 支援命令別名 4 支援命令列編輯 5 支援命令列展開 6 支援檔名通配 7 支援變數 8 支援程式設計 1 反引號,鍵盤左上角esc下面的鍵,用於命令替換 root ymm xiaokeai echo pwd root2 雙引號,弱引用...
ajax基礎學習筆記
今天學習了下ajax,簡單總結一下 1 建立xmlhttprequest物件 xmlhttp new xmlhttprequest 2 向伺服器傳送請求 get方法 xmlhttp.send post方法 xmlhttp.send id 1 xmlhttprequest物件的responsetext...
ajax基礎學習筆記
一 後端 controller,requestbody返回字串 二 前端 ajax請求,1.url 要求為string型別的引數 請求的url 2.type 要求為string型別的引數,請求方式 post或get 預設為get。或者直接 get或 post 3.data 要求為object或str...