筆試:Ajax請求總共有多少種Callback
Ajax請求總共有八種Callback
onSuccess
onFailure
onUninitialized
onLoading
onLoaded
onInteractive
onComplete
onException
拓展:
關(guān)于ajax的名字
ajax 的全稱(chēng)是Asynchronous JavaScript and XML,其中,Asynchronous 是異步的意思,它有別于傳統web開(kāi)發(fā)中采用的同步的方式。
關(guān)于同步和異步
異步傳輸是面向字符的傳輸,它的單位是字符;而同步傳輸是面向比特的傳輸,它的單位是楨,它傳輸的時(shí)候要求接受方和發(fā)送方的時(shí)鐘是保持一致的。
具體來(lái)說(shuō),異步傳輸是將比特分成小組來(lái)進(jìn)行傳送。一般每個(gè)小組是一個(gè)8位字符,在每個(gè)小組的頭部和尾部都有一個(gè)開(kāi)始位和一個(gè)停止位,它在傳送過(guò)程中接收方和發(fā)送方的時(shí)鐘不要求一致,也就是說(shuō),發(fā)送方可以在任何時(shí)刻發(fā)送這些小組,而接收方并不知道它什么時(shí)候到達。一個(gè)最明顯的例子就是計算機鍵盤(pán)和主機的通信,按下一個(gè)鍵的同時(shí)向主機發(fā)送一個(gè)8比特位的ASCII代碼,鍵盤(pán)可以在任何時(shí)刻發(fā)送代碼,這取決于用戶(hù)的輸入速度,內部的硬件必須能夠在任何時(shí)刻接收一個(gè)鍵入的字符。這是一個(gè)典型的異步傳輸過(guò)程。異步傳輸存在一個(gè)潛在的問(wèn)題,即接收方并不知道數據會(huì )在什么時(shí)候到達。在它檢測到數據并做出響應之前,第一個(gè)比特已經(jīng)過(guò)去了。這就像有人出乎意料地從后面走上來(lái)跟你說(shuō)話(huà),而你沒(méi)來(lái)得及反應過(guò)來(lái),漏掉了最前面的幾個(gè)詞。因此,每次異步傳輸的信息都以一個(gè)起始位開(kāi)頭,它通知接收方數據已經(jīng)到達了,這就給了接收方響應、接收和緩存數據比特的時(shí)間;在傳輸結束時(shí),一個(gè)停止位表示該次傳輸信息的`終止。按照慣例,空閑(沒(méi)有傳送數據)的線(xiàn)路實(shí)際攜帶著(zhù)一個(gè)代表二進(jìn)制1的信號。步傳輸的開(kāi)始位使信號變成0,其他的比特位使信號隨傳輸的數據信息而變化。最后,停止位使信號重新變回1,該信號一直保持到下一個(gè)開(kāi)始位到達。例如在鍵盤(pán)上數字“1”,按照8比特位的擴展ASCII編碼,將發(fā)送“00110001”,同時(shí)需要在8比特位的前面加一個(gè)起始位,后面一個(gè)停止位。
同步傳輸的比特分組要大得多。它不是獨立地發(fā)送每個(gè)字符,每個(gè)字符都有自己的開(kāi)始位和停止位,而是把它們組合起來(lái)一起發(fā)送。我們將這些組合稱(chēng)為數據幀,或簡(jiǎn)稱(chēng)為幀。
數據幀的第一部分包含一組同步字符,它是一個(gè)獨特的比特組合,類(lèi)似于前面提到的起始位,用于通知接收方一個(gè)幀已經(jīng)到達,但它同時(shí)還能確保接收方的采樣速度和比特的到達速度保持一致,使收發(fā)雙方進(jìn)入同步。
幀的最后一部分是一個(gè)幀結束標記。與同步字符一樣,它也是一個(gè)獨特的比特串,類(lèi)似于前面提到的停止位,用于表示在下一幀開(kāi)始之前沒(méi)有別的即將到達的數據了。
同步傳輸通常要比異步傳輸快速得多。接收方不必對每個(gè)字符進(jìn)行開(kāi)始和停止的操作。一旦檢測到幀同步字符,它就在接下來(lái)的數據到達時(shí)接收它們。另外,同步傳輸的開(kāi)銷(xiāo)也比較少。例如,一個(gè)典型的幀可能有500字節(即4000比特)的數據,其中可能只包含100比特的開(kāi)銷(xiāo)。這時(shí),增加的比特位使傳輸的比特總數增加2.5%,這與異步傳輸中25 %的增值要小得多。隨著(zhù)數據幀中實(shí)際數據比特位的增加,開(kāi)銷(xiāo)比特所占的百分比將相應地減少。但是,數據比特位越長(cháng),緩存數據所需要的緩沖區也越大,這就限制了一個(gè)幀的大小。另外,幀越大,它占據傳輸媒體的連續時(shí)間也越長(cháng)。在極端的情況下,這將導致其他用戶(hù)等得太久。
個(gè)小時(shí),在這10個(gè)小時(shí)內水沒(méi)有完全斷,只是流量比原來(lái)小了很多,在10個(gè)小時(shí)后恢復正常流量,那么,如果是你你會(huì )選擇哪種方式呢?顯然是后者。
【筆試:Ajax請求總共有多少種Callback】相關(guān)文章:
AJax筆試題01-14
解析ajax請求post和get的區別09-29
關(guān)于用ajax請求數據遇到問(wèn)題的解決方法11-10
求職筆試技巧知多少09-03
Node.js如何響應Ajax的POST請求并且保存為JSON文件詳解11-10
AJAX的特點(diǎn)11-10
ajax詳細解釋11-10