JavaScript、jQuery、AJAX、JSON 這四個之間的關係 神段子 通俗易懂


作者:於江水
鏈接:https://www.zhihu.com/question/31305968/answer/116023020
來源:知乎


有一天,你們人類不滿足網頁只是一些文字和圖片的展示,希望頁面上可以有更多功能。比如點擊一個按鈕,彈一個窗口或者改變頁面上某些內容。

爲了實現這種功能,就創造了一門腳本語言,逐步升級演化成了 JavaScript 這門語言。

JavaScript 爲頁面提供更多功能,是頁面交互功能的基礎語言。此外它的語言規範和引擎還被用於其他領域,比如 Node 等。

人類爲了讓自己頁面功能更加豐富,使用了大量的 JavaScript,並且寫了非常多的代碼。這時候發現不同瀏覽器對 JavaScript 的支持程度非常不統一,而且原生 JavaScript 實現某些看起來很簡單的功能都很麻煩。於是 jQuery 就把這些兼容性問題統一,並封裝了大量的 API,可以讓你非常簡單就實現很多功能。

jQuery 屏蔽了瀏覽器之間的兼容性問題,針對常用功能封裝了大量的 API,並支持插件機制,讓你寫 JS 的效率很高,質量很好。

簡單的頁面上的交互再次不滿足人類的需求,比如一個資料填寫表單,需要填寫一個名稱,這個名稱還必須不能跟之前的重複。校驗這個名稱不能重複,就需要把數據提交上去,與服務器端數據交互的方法就是 form 提交表單。這時候需要用戶填完所有的表單,點擊『確定』之後提交校驗。如果此時名稱被佔用就悲劇了。

解決這個問題的方案關鍵點在數據交互上面。最好的解決方案應該是輸入完名字之後,就自動去吧數據發給後端,然後拿到結果並提示給用戶,而不是統一提交。於是人類就想出了一套新的數據交互方案,即無刷新的異步請求,名字叫 Ajax。通過 Ajax 可以通過 JS 與後端接口進行數據交互,而不會影響當前頁面。當接口返回『被佔用』的時候,JS 在頁面上給個提示就可以很好的實現了。

Ajax 技術提供了一種新的前後端數據交互方式,不需要刷新頁面,而且不阻塞頁面執行流程,異步的去請求去獲取、交互數據。

一開始只是通過 Ajax 異步發一個請求,數據就是一個簡單的用戶名稱,所以直接按照字符串發過去就好了。後來需要 Ajax 發送的數據越來越多,比如一整張表單。這時候就需要有一套規則來描述更復雜的數據,一開始估計就是用一些字符分割拼起來,再後來人類用 xml 來描述,發現解析還是挺麻煩的,於是就基於 JavaScript 的數據類型創造了 JSON 這種數據描述格式,很簡單的就可以描述很複雜的數據。同時獨立於語言,這樣就可以在多種語言內使用。

JSON 用來描述前後端數據交互的內容格式,有了 JSON 這樣的一套統一的描述規則,前後端解析數據的成本變低,使用非常簡單。JSON 屬於 JavaScript 的一個子集。

這就是上面幾個關鍵詞的關係和用途。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章