AJAX同步與非同步

2022-09-01 12:33:16 字數 1759 閱讀 2823

今天來大概說說ajax中的同步與非同步。其實,就我的理解,同步與非同步的區別就是程式執行過程中是否有等待。

同步:意思就是js**載入到當前的 ajax時候,會等待ajax**執行完畢後再開始載入其他**;

非同步:js**是指當載入到 ajax時候,在ajax**執行的同時 ,也會執行其他**。

jquery 的async 屬性:預設 情況下 ,為true  :非同步,                                         標註為false:表示同步

官方解釋:

async

boolean

default:true

by default, all requests are sent asynchronous (e.g. this is set to true

by default). if you need synchronous requests, set this option to false.

note that synchronous requests may temporarily lock the browser,

disabling any actions while the request is active.

翻譯如下:非同步處理方式:返回型別為boolean型,

預設情況下所以請求為非同步方式處理,返回值是true;如果需要同步的要求,可以返回值設定為false,但是請注意:在同步請求的時候,可能會暫時鎖定瀏覽器,其他任何行為均被禁止,而同步請求行為是活動的。

success

function

a function to be called if the request succeeds. the function gets passed

two arguments: the data returned from the server, formatted according

to the 'datatype' parameter, and a string describing the status. this is

an ajax event.

翻譯如下:當函式請請求返回成功時,將會得到2個引數,1.從伺服器端返回的資料。2.根據資料型別引數的格式化和描述狀態的字串,這個被成為 乙個ajax事件。

非同步:當ajax傳送請求後,在等待 server端返回的過程中,前台會繼續執行ajax後面的**,直到server端返回正確的結果,才會執行success,即無等待過程,執行的時候分為2個執行緒。

看下如下的**:

$.ajax({  

type:"post", 

url:"venue.aspx?act=init", 

datatype:"html", 

success:function(result){   //function1()

f1(); 

f2(); 

failure:function (result) {  

alert('failed');  

function2(); 

前面我們已經說到,預設情況下async預設為true, 非同步處理方式,就是說當ajax傳送請求後,將停留在function1(),在等待伺服器返回結果,但在等待過程中 ,前台會繼續執行function2(),此時就出現了 2個執行緒。

同步 處理方式:當把async設為false,在ajax發出請求後,會等待function1(),並不會執行function2(),直到function1()的部分執行完畢為止 。

Ajax同步與非同步

之前一直在寫jquery 的時候遇到ajax載入資料都需要考慮 執行順序問題。最近的專案用了到ajax同步。這個同步的意思是當js 載入到當前ajax的時候會把頁面裡所有的 停止載入,頁面出去假死狀態,當這個ajax執行完畢後才會繼續執行其他 頁面假死狀態解除。而非同步則這個ajax 執行中的時候其...

ajax 同步與非同步

同步是指 傳送方發出資料後,等接收方發回響應以後才發下乙個資料報的通訊方式。使用者填寫所有資訊後,提交給伺服器,等待伺服器的回應 檢驗資料 是一次性的。資訊錯誤又要重新填寫!非同步是指 傳送方發出資料後,不等接收方發回響應,接著傳送下個資料報的通訊方式。當使用者填寫完一條資訊後,該資訊會自動向伺服器...

ajax同步與非同步理解

每次都混淆了ajax同步與非同步,留此文章 同步和非同步的區別 舉個例子 普通b s模式 同步 ajax技術 非同步 同步 sync 提交請求 等待伺服器處理 處理完畢返回 這個期間客戶端瀏覽器不能幹任何事 非同步 asyn 請求通過事件觸發 伺服器處理 這是瀏覽器仍然可以作其他事情 處理完畢 同步...