AJAX初學

virusos發表於2017-04-30

使用XMLHttpRequest物件,與後臺伺服器進行資料交換。

var request = new XMLHttpRequest();

關於相容性(IE5、IE6)

var request;
if(window.XMLHttpRequest){
    request = new XMLHttpRequest();
}else {
    request = new ActiveXObject("Microsoft.XMLHTTP");//IE6, IE5

什麼是HTTP
http是計算機通過網路進行通訊的規則,是一種無狀態協議。
無狀態協議:不建立長久的連線,伺服器不保留連線的資訊。

一個完整的HTTP請求,有以下步驟:

  1. 建立TCP連線
  2. Web瀏覽器向Web伺服器傳送請求命令
  3. Web瀏覽器傳送請求頭資訊
  4. Web伺服器應答
  5. Web伺服器傳送應答頭資訊
  6. Web伺服器 向瀏覽器傳送資料
  7. Web伺服器關閉TCP連線

一個HTTP請求由四部分組成:

  1. HTTP請求的方法或動作(如:GET或POST)
  2. 正在請求的URL
  3. 請求頭,包含一些客戶端環境資訊,身份驗證資訊等
  4. 請求體,也就是請求正文,可以包含客戶提交的查詢字串資訊,表單資訊等等

GET:

  • 一般用於資訊獲取
  • 使用URL傳遞引數(對所有人可見)
  • 對所傳送資訊的數量有限制,一般在2000個字元
  • “冪等的”:執行多次和執行一次的結果是一樣的

POST:

  • 一般用於修改伺服器上的資源
  • 對所傳送資訊的數量無限制

一個HTTP響應一般由三部分組成

  • 狀態碼
  • 響應頭
  • 響應體

狀態碼
1xx:資訊類,表示收到Web瀏覽器的請求,正在進一步處理
2xx:成功
3xx:重定向,請求沒有成功,客戶必須採取進一步的動作
4xx:客戶端錯誤,客戶端提交的請求有錯誤
5xx:伺服器錯誤,伺服器不能完成對請求的處理

部分資料來自慕課網