客戶端傳遞給伺服器的內容 和 伺服器傳遞給客戶端的內容 都屬於HTTP封包。 Ajax是客戶端JS中的方法,用來向服務端發送請求,下面透過本文給大家分享HTTP報文及ajax基礎知識,有興趣的朋友一起看看吧
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; } }503 伺服器已經超負荷
xhr.send(null);主體中傳遞給伺服器的內容
rrreee
上面是我整理給大家的,希望今後會對大家有幫助。jQuery Validator驗證Ajax提交表單的方法和Ajax傳參的方法(圖文教學)
###Ajax跨域請求的原理(圖文教學)######以上是HTTP報文及ajax基礎知識的詳細內容。更多資訊請關注PHP中文網其他相關文章!