標籤:重新導向 使用者密碼 開啟 get asc 瀏覽器 script 狀態 received
HTTP報文
用戶端傳遞給伺服器的內容 和 伺服器傳遞給用戶端的內容 都屬於HTTP報文
起始行:請求起始行 響應起始行
首部:請求首部 響應首部 通用首部(請求和響應都有的) 自訂首部
主體:請求主體 響應主體
用戶端傳遞給伺服器端資料:
請求URL後面問號傳參的方式傳遞給伺服器 /getList?name=zhangsan&age=7
佈建要求的首部(佈建要求頭資訊)
佈建要求主體,把傳遞給伺服器的內容放在請求主體中傳遞給伺服器
伺服器端傳遞給用戶端資料:
設定回應標頭資訊
設定響應主體內容
Ajax : async javascript and xml 非同步JS和XML(可擴充的標記語言,在XML檔案中使用的標籤都是自己擴充的,利用自己擴充的有規則的標記來儲存相關的資料)
Ajax是用戶端JS中的方法,用來向服務端發送請求(還可以傳遞給伺服器端資料),然後把伺服器端返回的內容擷取到(Ajax一般是運行在用戶端的瀏覽器中的)。
Ajax四步:
建立一個Ajax對象(下面的這種寫法在IE6及更低版本的瀏覽器中不支援)
var xhr = new XMLHttpRequest;
發送前的基本資料配置:配置請求方式(GET、POST、PUT、DELETE、HEAD...)
開啟一個URL地址(配置向哪一個伺服器位址發送請求)
同步還是非同步(true代表非同步 false代表同步 預設是true)
[username]向伺服器提供請求的使用者名稱
[userpass]向伺服器提供請求的使用者密碼,這兩個值一般都不寫,只有伺服器做了安全的限制,只允許特定的使用者訪問的話,我們才傳遞過去
xhr.open(‘get‘,"/data.txt",false,[username],[userpass]);
給onreadystatechange這個事件綁定一個方法,監聽狀態的改變(只要狀態改變,就觸發方法執行)
xhr.onreadystatechange = function(){
xhr.readyState:AJAX狀態代碼,可以代表當前處理的進度
0 unset 當前的請求還沒有發送
1 opened URL地址已經開啟(發送前的參數配置已經完成)
2 headers_received 回應標頭資訊已經接受
3 loading 主要返回的內容正在伺服器端進行準備處理
4 done 響應主體的內容已經成功返回給用戶端
xhr.status:HTTP網路狀態代碼,描述了伺服器響應內容的狀態
200 OR ^2\d{2} (200或者以2開頭) -> 都代表響應主體的內容已經成功返回了
301 永久重新導向/永久轉移
302 臨時重新導向/臨時轉移 伺服器的負載平衡
304 本次擷取的內容是讀取緩衝中的資料
400 用戶端傳遞給伺服器端的參數出現錯誤
401 無許可權訪問
404 用戶端訪問的地址不存在
500 未知的伺服器錯誤
503 伺服器已經超負荷
if(xhr.readyState===4 && /^2\d{2}$/.test(xhr.status)){
var val = xhr.responseText;
}
}
發送請求:參數是請求主體中傳遞給伺服器的內容
xhr.send(null);
js學習總結----http報文及ajax基礎知識