今天是劉自學Java的第95天。
感謝收看,謝謝。
話不多說,開始今天的學習:
一、同步、異步請求瀏覽器以兩種方式向服務器發(fā)送請求:同步請求和異步請求。
1個同步請求
什么是同步請求?
也就是說,在發(fā)送請求之后,您需要等待服務器的響應,然后再發(fā)送下一個請求。
先前的請求通過瀏覽器的地址欄發(fā)送,這是一個同步請求。
但是它有兩個缺陷:
(1)請求必須等待響應
如果請求受阻,網(wǎng)絡延遲,用戶需要等待,用戶體驗不好。
②請求時將攜帶所有信息
比如一個表單表單需要填寫用戶名、密碼、手機號等信息。
如果其中一個信息填寫不正確,請求失敗,再次填寫所有信息會比較麻煩和繁瑣。
我為什么不填錯呢?
如何解決這個問題?有必要引入異步的概念。
2個異步請求
與同步請求相比,異步不需要等待響應,可以隨時發(fā)送下一個請求。
如果是同步請求,需要完整填寫信息,然后發(fā)送請求,在服務器正確響應后進行修改。
但是異步請求是本地頁面更新。
比如上面說的手機號、密碼、郵箱名,在填寫的時候會發(fā)送異步請求。
如果格式不正確,會提醒您修改,而其他已經(jīng)填寫的正確信息不會受到影響。
二、原生的AjaxAjax是什么?
說白了就是一種發(fā)送異步請求的方式。
先寫一個異步請求案例,然后一步一步的學習。
有一個按鈕,它為它注冊一個點擊事件,并在被點擊時發(fā)送一個異步請求。具體實施方法包括五個步驟:
1)創(chuàng)建
是AJAX的基礎。
Ajax通過這個對象發(fā)送異步請求。
②onreadystatechange事件
別看這長串。翻譯過來就是說當前數(shù)據(jù)源的數(shù)據(jù)會發(fā)生變化,可以理解為監(jiān)聽。
這個事件是實現(xiàn)異步請求的核心關鍵。
為什么異步請求不能等待響應?
就是因為這里有監(jiān)控事件。
服務器被監(jiān)控。一旦readyState為4且狀態(tài)為200,則響應成功。
這些屬性是怎么來的?w3c文檔顯示:
就緒狀態(tài)和狀態(tài)應該有不同的值,除了4和200表示響應成功。
③綁定提交地址
Open()方法,它有三個參數(shù):
method:即請求方式,例子中是GET請求。url:請求路徑,"/getAjaxServlet"。async:true表示為異步、false表示為同步,不寫默認為true。④發(fā)送請求
Send()方法將請求發(fā)送到服務器。
同樣,w3c文檔中也詳細介紹了這些方法。
⑤接收響應數(shù)據(jù)
也就是說,當②判斷響應成功時,接收響應的數(shù)據(jù)有兩個屬性:
responseText :獲取字符串形式的數(shù)據(jù)。responseXML:獲取XML形式的數(shù)據(jù)。如果不是XML數(shù)據(jù),請使用responseText。
而這是基礎,要學。
三、JSONJSON是一種輕量級的數(shù)據(jù)交換格式,可讀性強,易于編寫。
在JSON之前,xml通常用于傳輸數(shù)據(jù)。比較這兩種數(shù)據(jù)格式:
相比之下,json數(shù)據(jù)更簡潔。
當然,xml也不是沒有優(yōu)點,它的格式是統(tǒng)一的。就感知而言,有些人更喜歡XML的布局。
而XML已經(jīng)問世很久了,它的普及深入人心,具有很高的普適性。喜歡XML的人還是挺多的。
但是對于傳輸數(shù)據(jù)來說,解析數(shù)據(jù)容易嗎?這個很重要。
與xml相比,json有這樣的優(yōu)勢,所以在這方面使用更普遍。
Json的基本語法
分別有三種數(shù)據(jù)格式:
①對象類型
格式為:{名稱:值,名稱:值…}
數(shù)據(jù)存儲在鍵值對中,鍵值對可以有多個鍵值對,用逗號分隔。
其中名稱為字符串類型,值為任意類型。
②數(shù)組/集合類型
格式為:[值,值...]
其中值是任何類型。
和數(shù)組很像,只不過數(shù)據(jù)包是用括號包起來的。
③混合型
也就是說,它包含對象類型和數(shù)組類型。
值得注意的是:
JSON數(shù)據(jù)的key值:字符串類型,必須加雙引號。JSON數(shù)據(jù)的value值:任意類型,如果是字符串則必須加雙引號。時間有限,關于json的一些API就不專門講解了,以后還是用學來學比較好。
最后感謝收看。
如果可以的話,請夸獎一下。謝謝你。
1.《onreadystatechange 面試官:給我說說什么是同步異步?》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡信息知識,僅代表作者本人觀點,與本網(wǎng)站無關,侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《onreadystatechange 面試官:給我說說什么是同步異步?》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/guoji/1118800.html