首頁  >  文章  >  web前端  >  HTTP的報文與ajax基礎知識詳解

HTTP的報文與ajax基礎知識詳解

php中世界最好的语言
php中世界最好的语言原創
2018-03-31 11:09:171595瀏覽

這次為大家帶來HTTP的報文與ajax基礎知識詳解,使用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 未知的伺服器錯誤

  500 未知的伺服器錯誤

503 伺服器已經超負荷

  if(xhr.readyState===4 && /^2\d{2}$/.test(xhr.status)){
    var val = xhr.responseText;
  }
}
發送請求:參數是請求主體中傳遞給伺服器的內容

xhr.send(null);

###相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章! ######推薦閱讀:###

Ajax+node js multer做出檔案上傳的功能

#Ajax實作偵測網站劫持的方法
##

以上是HTTP的報文與ajax基礎知識詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn