首先我們來看一看ajax的定義:
個人理解:
觸發某個事件->向服務端發起請求->返回響應(資料)->區域性更新
假設,目前我們在瀏覽器上看到的頁面,某些按鈕(事件),是繫結了ajax請求的。
ajax的核心:
xmlhttprequest 物件
初始化xmlhttprequest物件-->建立物件例項(通過該物件傳送請求)
open()方法指定載入資源
send()方法傳送請求
伺服器返回響應(使用onreadystatechange事件監聽伺服器)
用容器元素載入響應內容(使用dom元素載入伺服器放回的內容)
那為什麼xmlhttprequest物件可以建立與服務端的通訊呢?這裡需要理解兩個東西
1.瀏覽器到底是什麼?
接下來我們看看網路osi模型:
瀏覽器是乙個應用程式,在osi模型當中,屬於的是應用層上的東西。
注:摘自《
網路是怎樣連線的》
3.瀏覽器本質上是乙個渲染引擎(處理html+css+樣式計算+布局+繪製...)+js解析器+...
基於上述三個概念,我們回到xmlhttprequest 上來。
當瀏覽器拿到服務端的資源過後(html、css、js...)過後,瀏覽器對資源進行解析(dom構造+布局+繪製頁面)。當某個繫結了ajax的事件被觸發時,初始化xmlhttprequest ,這個時候對應的物件,擁有開啟與socket庫建立連線的方式(「send」方法),從而與協議棧產生通訊,以達到網路資料傳輸的目的。
綜上,我們回到ajax定義上來:
更新部分網頁原因:
js利用html當前的dom構造,利用服務端返回的資料,對指定的dom節點進行資料更新。
深入淺出剖析 OpenCV 視覺處理
隨著計算機技術以及電子技術的迅猛發展,影象作為人類感知世界的最主要 是人類獲取 表達和傳遞資訊的重要手段,使用計算機進行影象處理的數字影象處理技術迅速發展。opencv 開源計算機視覺庫成為了在影象處理和計算機視覺方面的熱門技術。opencv 的全稱是 open source computer vi...
淺拷貝與深拷貝定義
深拷貝淺拷貝 對乙個物件進行clone生成新的物件,新的物件要開闢一塊新的記憶體來儲存,新物件中的基本型別屬性和string型別屬性都會開闢新的空間儲存,但是如果是引用型別的屬性,那這個引用型別的屬性還是指向原物件的引用屬性記憶體,當對新的物件或原物件的引用屬性做出改變的時候,兩方的引用屬性型別的值...
ajax自定義控制項安裝
1.安裝aspajaxextsetup.msi 2.安裝 aspajaxctp.msi3.在 net 工具欄中新增自定義控制項 新建選項卡 controltoolkit 右擊工具箱中的選項卡 選擇 選擇項 在 net framework 元件中選擇 瀏覽 選相應的 dll檔案 在 ajaxcontr...