今天小鹹兒來個大家分享一下ajax的同步和非同步。
ajax中根據async(非同步)值的不同分為同步(async=false)和非同步(async=true)兩種執行方式。
同步:傳送方發出資料後,等接收方發回響應以後才發下乙個資料報的通訊方式。
使用者填寫所有資訊後,提交給伺服器,等待伺服器的回應(檢驗資料),是一次性的。資訊錯誤則需要重新填寫!
非同步:傳送方發出資料後,不等接收方發回響應,接著傳送下個資料報的通訊方式。
當使用者填完一條資訊後,該資訊會自動向伺服器提交,然後伺服器響應客戶端,在此過程中,使用者依然在填寫**的資訊,即向伺服器請求多次,節省了使用者的時間,提高了使用者的體驗。
同步請求:提交請求–>等待伺服器處理–>處理完畢返回(這個期間客戶端瀏覽器不能幹任何事情)
非同步請求:請求通過事件觸發–>伺服器處理(這是瀏覽器仍然可以做其他事情)–>處理完畢
小例子:打**(同步),發訊息(非同步)
b:呼叫open方法
c:send一些資料
d:對過程進行監聽,來知道服務是不是正確的做出了響應,接著可以做一些其他的事情
async是乙個布林值,如果是非同步通訊方式,客戶機就不等待伺服器的響應;如果是同步方式,客戶機就要等到伺服器返回訊息後採取執行其他操作。我們需要根據實際需要來指定同步方式,在某些頁面中,可能會發出多個請求,甚至是有組織有計畫有隊形大規模的高強度的request,而後乙個是會覆蓋前乙個的,這個時候當前要指定同步方式。
ajax同步和非同步
之前一直在寫jquery 的時候遇到ajax載入資料都需要考慮 執行順序問題。最近的專案用了到ajax同步。這個同步的意思是當js 載入到當前ajax的時候會把頁面裡所有的 停止載入,頁面出去假死狀態,當這個ajax執行完畢後才會繼續執行其他 頁面假死狀態解除。而非同步則這個ajax 執行中的時候其...
AJax同步和非同步
當用 ajax 非同步請求的時候,如果你的資料依賴於另乙個ajax請求之後的結果,可能會導致程式執行過快使資料在達不到預期值。表現為只有debug或者在比較卡頓的情況下才能執行正常,這個時候我們可能需要將被依賴的請求設定為同步的,即 async false下面附上我出現問題的 function ge...
ajax同步和非同步
之前一直在寫jquery 的時候遇到ajax載入資料都需要考慮 執行順序問題。最近的專案用了到ajax同步。這個同步的意思是當js 載入到當前ajax的時候會把頁面裡所有的 停止載入,頁面出去假死狀態,當這個ajax執行完畢後才會繼續執行其他 頁面假死狀態解除。而非同步則這個ajax 執行中的時候其...