ajax的callback是什麼?
callback是ajax中的回呼函數,是在伺服器對一個請求物件回應時呼叫的函數。瀏覽器會在某個時刻」回呼」這個函數,根據5種返回狀態的情況處理ajax請求結果。
callback回呼函數怎麼理解?
想弄清楚回呼函數,首先的清楚明白函數的規則。在javascript中,函數是比較奇怪的,但它確確實實是物件。確切地說,函數是用Function()建構函數所建立的Function物件。 Function物件包含一個字串,字串包含函數的javascript程式碼。假如你是從C語言或Java語言轉過來的,這也許看起來很奇怪,程式碼怎麼可能是字串?但對於javascript來說,這很平常。資料和程式碼之間的差異是很模糊的。
傳統函數以參數形式輸入數據,並且使用返回語句傳回值。理論上,在函數結尾處有一個return回傳語句,結構上就是:一個輸入點和一個輸出點。這比較容易理解,函數本質上就是輸入和輸出之間實現過程的映射。
但是,當函數的實作過程非常漫長,你是選擇等待函數完成處理,還是使用回呼函數進行非同步處理呢?在這種情況下,使用回呼函數變得至關重要,例如:AJAX請求。若是使用回呼函數進行處理,程式碼就可以繼續進行其他任務,而無需空等。實際開發中,經常在javascript中使用非同步調用,甚至在這裡強烈建議使用!
回呼函數是另外某件事結束時執行的函數。在Ajax中,回呼函數就是伺服器對一個請求物件作出回應時所呼叫的函數。瀏覽器會在某個時刻”回調”這個函數。
callback的5種狀態?
那些個onLoadSuccess都是插件依據底層ajax的狀態產生的
0: (Uninitialized) the send( ) method has not yet been invoked.
1: (Loading) the send( ) method has been invoked, request in progress.
2: (Loaded) the send( ) method has completed, entire response received.
3: (Interactive) the response is being parsed.##44
3:##4) the response is being parsed.#44 : (Completed) the response has been parsed, is ready for harvesting.
0 - (未初始化)還沒有呼叫send()方法
1 - (載入)已呼叫send()方法,正在傳送請求
2 - (載入完成)send()方法執行完成,已經接收到全部回應內容
3 - (互動)正在解析回應內容
4 - (完成)回應內容解析完成,可以在客戶端呼叫了
以上是ajax callback是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!