1. 程式人生 > >Ajax同步請求和非同步請求的區別

Ajax同步請求和非同步請求的區別

同步是指:傳送方發出資料後,等接收方發回響應以後才發下一個數據包的通訊方式。

使用者填寫所有資訊後,提交給伺服器,等待伺服器的迴應(檢驗資料),是一次性的。資訊錯誤又要重新填寫!

非同步是指:傳送方發出資料後,不等接收方發回響應,接著傳送下個數據包的通訊方式。

當用戶填寫完一條資訊後,該資訊會自動向伺服器提交,然後伺服器響應客戶端,在此過程中,使用者依然在填寫表格的資訊,即向伺服器請求多次,節省了使用者的時間,提高了使用者的體驗。

同步請求:

客戶端請求(等待)->服務端處理->響應->頁面載入

(缺少物件:XMLhttpRequest)
這時候如果有錯誤,只能再次傳送請求,再次等待

非同步請求:

比如當你填寫郵箱地址的時候,頁面當時就把郵箱地址傳送到了伺服器(也就是頁面傳送了一個請求),伺服器做處理和響應,得到你的郵箱地址填寫重複了,把響應結果發給頁面,在這個過程中你仍然可以填寫其他內容,這時候伺服器會提示你有重複的郵箱地址,在頁面上的表現只是郵箱地址旁別加了一行字或者把整個文字框標紅,並沒有重新刷你的頁面,所有的填寫錯誤會實時的顯示出來,你也會實時的更正。這個過程中,你會有整個頁面的重新整理,也不會有整個頁面的提交和等待,最後提交,一切都會搞定的

總結:頁面上的操作和伺服器端的操作互相之間不會造成阻塞

====一道面試=建立非同步請求過程4個步驟:============

a:new一個XHR物件

b:呼叫open方法

c:send一些資料

d:對過程進行監聽,來知道伺服器是不是正確地做出了響應,接著可以做一些事情