同步是指:傳送方發出資料後,等接收方發回響應以後才發下乙個資料報的通訊方式。
使用者填寫所有資訊後,提交給伺服器,等待伺服器的回應(檢驗資料),是一次性的。資訊錯誤又要重新填寫!
非同步是指:傳送方發出資料後,不等接收方發回響應,接著傳送下個資料報的通訊方式。
當使用者填寫完一條資訊後,該資訊會自動向伺服器提交,然後伺服器響應客戶端,在此過程中,使用者依然在填寫**的資訊,即向伺服器請求多次,節省了使用者的時間,提高了使用者的體驗。
同步請求:
客戶端請求(等待)->服務端處理->響應->頁面載入
(缺少物件:xmlhttprequest)
這時候如果有錯誤,只能再次傳送請求,再次等待
非同步請求:
比如當你填寫郵箱位址的時候,頁面當時就把郵箱位址傳送到了伺服器(也就是頁面傳送了乙個請求),伺服器做處理和響應,得到你的郵箱位址填寫重複了,把響應結果發給頁面,在這個過程中你仍然可以填寫其他內容,這時候伺服器會提示你有重複的郵箱位址,在頁面上的表現只是郵箱位址旁別加了一行字或者把整個文字框標紅,並沒有重新刷你的頁面,所有的填寫錯誤會實時的顯示出來,你也會實時的更正。這個過程中,你會有整個頁面的重新整理,也不會有整個頁面的提交和等待,最後提交,一切都會搞定的
總結:頁面上的操作和伺服器端的操作互相之間不會造成阻塞
====一道面試題=建立非同步請求過程的4個步驟:**********==
a:new乙個xhr物件
b:呼叫open方法
c:send一些資料
d:對過程進行監聽,來知道伺服器是不是正確地做出了響應,接著可以做一些事情
ajax同步和非同步
之前一直在寫jquery 的時候遇到ajax載入資料都需要考慮 執行順序問題。最近的專案用了到ajax同步。這個同步的意思是當js 載入到當前ajax的時候會把頁面裡所有的 停止載入,頁面出去假死狀態,當這個ajax執行完畢後才會繼續執行其他 頁面假死狀態解除。而非同步則這個ajax 執行中的時候其...
AJax同步和非同步
當用 ajax 非同步請求的時候,如果你的資料依賴於另乙個ajax請求之後的結果,可能會導致程式執行過快使資料在達不到預期值。表現為只有debug或者在比較卡頓的情況下才能執行正常,這個時候我們可能需要將被依賴的請求設定為同步的,即 async false下面附上我出現問題的 function ge...
ajax同步和非同步
之前一直在寫jquery 的時候遇到ajax載入資料都需要考慮 執行順序問題。最近的專案用了到ajax同步。這個同步的意思是當js 載入到當前ajax的時候會把頁面裡所有的 停止載入,頁面出去假死狀態,當這個ajax執行完畢後才會繼續執行其他 頁面假死狀態解除。而非同步則這個ajax 執行中的時候其...