js學習總結----http報文及ajax基礎知識

來源:互聯網
上載者:User

標籤:重新導向   使用者密碼   開啟   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基礎知識

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.