JavaScript、jQuery、AJAX、JSON 這四個之間的關係?
阿新 • • 發佈:2019-01-27
感謝於江水授權我將此文章釋出到公眾號。
有一天,你們人類不滿足網頁只是一些文字和圖片的展示,希望頁面上可以有更多功能。比如點選一個按鈕,彈一個視窗或者改變頁面上某些內容。
為了實現這種功能,就創造了一門指令碼語言,逐步升級演化成了 JavaScript 這門語言。
JavaScript 為頁面提供更多功能,是頁面互動功能的基礎語言。此外它的語言規範和引擎還被用於其他領域,比如 Node 等。
人類為了讓自己頁面功能更加豐富,使用了大量的 JavaScript,並且寫了非常多的程式碼。這時候發現不同瀏覽器對 JavaScript 的支援程度非常不統一,而且原生 JavaScript 實現某些看起來很簡單的功能都很麻煩。於是 jQuery
jQuery 遮蔽了瀏覽器之間的相容性問題,針對常用功能封裝了大量的 API,並支援外掛機制,讓你寫 JS 的效率很高,質量很好。
簡單的頁面上的互動再次不滿足人類的需求,比如一個資料填寫表單,需要填寫一個名稱,這個名稱還必須不能跟之前的重複。校驗這個名稱不能重複,就需要把資料提交上去,與伺服器端資料互動的方法就是 form 提交表單。這時候需要使用者填完所有的表單,點選『確定』之後提交校驗。如果此時名稱被佔用就悲劇了。
解決這個問題的方案關鍵點在資料互動上面。最好的解決方案應該是輸入完名字之後,就自動去吧資料發給後端,然後拿到結果並提示給使用者,而不是統一提交。於是人類就想出了一套新的資料互動方案,即無重新整理的非同步請求,名字叫 Ajax
Ajax 技術提供了一種新的前後端資料互動方式,不需要重新整理頁面,而且不阻塞頁面執行流程,非同步的去請求去獲取、互動資料。
一開始只是通過 Ajax 非同步發一個請求,資料就是一個簡單的使用者名稱稱,所以直接按照字串發過去就好了。後來需要 Ajax 傳送的資料越來越多,比如一整張表單。這時候就需要有一套規則來描述更復雜的資料,一開始估計就是用一些字元分割拼起來,再後來人類用 xml 來描述,發現解析還是挺麻煩的,於是就基於 JavaScript 的資料型別創造了 JSON
JSON 用來描述前後端資料互動的內容格式,有了 JSON 這樣的一套統一的描述規則,前後端解析資料的成本變低,使用非常簡單。JSON 屬於 JavaScript 的一個子集。
這就是上面幾個關鍵詞的關係和用途。