今天是劉小愛自學Java的第95天。web
感謝你的觀看,謝謝你。面試
話很少說,開始今天的學習:json
瀏覽器發送請求給服務器,其有同步請求和異步請求兩種方式。api
1同步請求數組
什麼叫同步請求呢?瀏覽器
就是在發送一個請求以後,須要等待服務器響應返回,纔可以發送下一個請求。服務器
以前學的請求是經過瀏覽器地址欄發送請求,這種方式就是屬於同步請求。網絡
可是其有兩個缺陷:異步
①請求必需要等待響應async
若是遇到請求阻塞,網絡延遲,用戶須要等待,這樣用戶體驗效果很差。
②請求時會攜帶全部的信息
好比說一個form表單,須要填入用戶名,密碼,手機號,等多個信息。
若是其中有一個信息填寫錯了,請求失敗,又要所有從新填寫,會很麻煩繁瑣。
我只填寫我填錯了的不就行了麼?
如何解決這個問題?就須要引入異步的概念了。
2異步請求
和同步請求相對,異步不須要等待響應,隨時能夠發送下一次請求。
若是是同步請求,須要將信息填寫完整,再發送請求,服務器響應填寫是否正確,再作修改。
可是異步請求是局部頁面更新。
好比上述的手機號、密碼,郵箱名,在填寫時就會發送一個異步請求。
如果格式不正確,會提醒修改,而其它已經填寫的正確信息不受影響。
什麼叫Ajax呢?
說白了就是用來發送異步請求的一種方式。
先寫一個異步請求案例,再逐步學習。
有一個按鈕,給它註冊個點擊事件,點擊就發送異步請求,其具體實現方式共五步:
①建立XMLHttpRequest
XMLHttpRequest是AJAX的基礎。
Ajax就是經過XMLHttpRequest這個對象來發送異步請求的。
②onreadystatechange事件
不要看這一大串這麼長,翻譯過來就是當前數據源的數據將要發生變化時,就能夠理解成監聽。
這個事件就是實現異步請求的核心關鍵。
爲何異步請求能夠不用等待響應?
就是由於這兒設置了一個監聽事件。
服務器被監聽,一旦readyState爲4而且status爲200,代表響應成功。
這些屬性都是怎麼來的,w3c文檔中就有說明:
readyState和status都對應有不一樣的數值,只不過4和200表示響應成功。
③綁定提交地址
open()方法,其有三個參數:
④發送請求
send()方法,將請求發送到服務器。
一樣的道理,這些方法在w3c文檔中也有詳細說明。
⑤接收響應數據
也就是在②中判斷響應成功時,接受響應的數據,有兩種屬性:
若是不是XML數據,都使用responseText。
以上就是原生的Ajax,固然實際使用過程當中不會這樣用,可是面試時可能會被問到。
而且這是基礎,學一下也是有必要的。
JSON是一種輕量級的數據交換格式,具備良好的可讀性以及便於編寫。
在JSON以前通常都是使用xml來傳遞數據的,將這兩種數據格式作一個對比:
相比較而言:json數據更加地簡潔。
固然XML也並非一無可取,其格式統一,就觀感而言也有人更喜歡xml這種排版方式。
而且XML出來了好久了,推廣深刻人心,通用性高,喜歡XML的人仍是挺多的。
可是對於傳輸數據來講,數據是否容易被解析?這是很是重要的。
而json相對於xml而言就具備這樣的優點,故在這一塊更加地經常使用。
Json的基礎語法
一共有三種數據格式,分別說明:
①對象類型
格式爲:{name:value,name:value……}
以鍵值對的方式存儲數據,能夠有多個鍵值對,鍵值對之間用逗號隔開。
其中name爲字符串類型,而value是任意類型。
②數組/集合類型
格式爲:[value,value......]
其中value是任意類型。
和數組就很相似,只不過是使用中括號將數據包裹起來的。
③混合類型
即包含對象類型和數組類型。
值得注意的是:
時間有限,其中關於json還有一些api就不作專門講解了,從此使用到了邊記邊學就行了。
謝謝你的觀看。
若是能夠的話,麻煩幫忙點個贊,謝謝你。