溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

HTTP報(bào)文及ajax基礎(chǔ)知識(shí)的示例分析

發(fā)布時(shí)間:2021-08-23 15:20:46 來(lái)源:億速云 閱讀:209 作者:小新 欄目:web開(kāi)發(fā)

小編給大家分享一下HTTP報(bào)文及ajax基礎(chǔ)知識(shí)的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

HTTP報(bào)文

客戶(hù)端傳遞給服務(wù)器的內(nèi)容 和 服務(wù)器傳遞給客戶(hù)端的內(nèi)容 都屬于HTTP報(bào)文

  起始行:請(qǐng)求起始行  響應(yīng)起始行

  首部:請(qǐng)求首部 響應(yīng)首部 通用首部(請(qǐng)求和響應(yīng)都有的) 自定義首部

  主體:請(qǐng)求主體  響應(yīng)主體

客戶(hù)端傳遞給服務(wù)器端數(shù)據(jù):

  請(qǐng)求URL后面問(wèn)號(hào)傳參的方式傳遞給服務(wù)器  /getList?name=zhangsan&age=7

  設(shè)置請(qǐng)求的首部(設(shè)置請(qǐng)求頭信息)

  設(shè)置請(qǐng)求主體,把傳遞給服務(wù)器的內(nèi)容放在請(qǐng)求主體中傳遞給服務(wù)器

服務(wù)器端傳遞給客戶(hù)端數(shù)據(jù):

  設(shè)置響應(yīng)頭信息

  設(shè)置響應(yīng)主體內(nèi)容

Ajax : async javascript and xml 異步的JS和XML(可擴(kuò)展的標(biāo)記語(yǔ)言,在XML文件中使用的標(biāo)簽都是自己擴(kuò)展的,利用自己擴(kuò)展的有規(guī)則的標(biāo)記來(lái)存儲(chǔ)相關(guān)的數(shù)據(jù))

  Ajax是客戶(hù)端JS中的方法,用來(lái)向服務(wù)端發(fā)送請(qǐng)求(還可以傳遞給服務(wù)器端數(shù)據(jù)),然后把服務(wù)器端返回的內(nèi)容獲取到(Ajax一般是運(yùn)行在客戶(hù)端的瀏覽器中的)。

Ajax四步:

創(chuàng)建一個(gè)Ajax對(duì)象(下面的這種寫(xiě)法在IE6及更低版本的瀏覽器中不支持)

var xhr = new XMLHttpRequest;

發(fā)送前的基本信息配置:配置請(qǐng)求方式(GET、POST、PUT、DELETE、HEAD...)

打開(kāi)一個(gè)URL地址(配置向哪一個(gè)服務(wù)器地址發(fā)送請(qǐng)求)

同步還是異步(true代表異步 false代表同步 默認(rèn)是true)

[username]向服務(wù)器提供請(qǐng)求的用戶(hù)名

[userpass]向服務(wù)器提供請(qǐng)求的用戶(hù)密碼,這兩個(gè)值一般都不寫(xiě),只有服務(wù)器做了安全的限制,只允許特定的用戶(hù)訪問(wèn)的話,我們才傳遞過(guò)去

xhr.open('get',"/data.txt",false,[username],[userpass]);

給onreadystatechange這個(gè)事件綁定一個(gè)方法,監(jiān)聽(tīng)狀態(tài)的改變(只要狀態(tài)改變,就觸發(fā)方法執(zhí)行)

xhr.onreadystatechange = function(){

  xhr.readyState:AJAX狀態(tài)碼,可以代表當(dāng)前處理的進(jìn)度

  0 unset 當(dāng)前的請(qǐng)求還沒(méi)有發(fā)送

  1 opened URL地址已經(jīng)打開(kāi)(發(fā)送前的參數(shù)配置已經(jīng)完成)

  2 headers_received 響應(yīng)頭信息已經(jīng)接受

  3 loading 主要返回的內(nèi)容正在服務(wù)器端進(jìn)行準(zhǔn)備處理

  4 done 響應(yīng)主體的內(nèi)容已經(jīng)成功返回給客戶(hù)端

  xhr.status:HTTP網(wǎng)絡(luò)狀態(tài)碼,描述了服務(wù)器響應(yīng)內(nèi)容的狀態(tài)

  200 OR ^2\d{2} (200或者以2開(kāi)頭) -> 都代表響應(yīng)主體的內(nèi)容已經(jīng)成功返回了

  301  永久重定向/永久轉(zhuǎn)移

  302 臨時(shí)重定向/臨時(shí)轉(zhuǎn)移 服務(wù)器的負(fù)載均衡

  304 本次獲取的內(nèi)容是讀取緩存中的數(shù)據(jù)

  400 客戶(hù)端傳遞給服務(wù)器端的參數(shù)出現(xiàn)錯(cuò)誤

  401 無(wú)權(quán)限訪問(wèn)

  404 客戶(hù)端訪問(wèn)的地址不存在

  500 未知的服務(wù)器錯(cuò)誤

  503 服務(wù)器已經(jīng)超負(fù)荷

  if(xhr.readyState===4 && /^2\d{2}$/.test(xhr.status)){
    var val = xhr.responseText;
  }
}

發(fā)送請(qǐng)求:參數(shù)是請(qǐng)求主體中傳遞給服務(wù)器的內(nèi)容

xhr.send(null);

以上是“HTTP報(bào)文及ajax基礎(chǔ)知識(shí)的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI