Ajax中瀏覽器和服務(wù)器交互詳解
在了解Ajax之前我們先了解一下瀏覽器和服務(wù)器之間如何進(jìn)行交互的
1.瀏覽器向服務(wù)器發(fā)送請求
2.服務(wù)器接收到請求信息,根據(jù)不同的情況再返回給瀏覽器不同的信息
3.瀏覽器接收到信息,輸出到當(dāng)前頁面上
上面介紹了瀏覽器和服務(wù)器交互的簡單示意圖,可以看到在最后一步,瀏覽器接收到信息后將本頁面的內(nèi)容全部進(jìn)行了更新,但是一般情況下我們只需要將部分內(nèi)容進(jìn)行更新,那怎么辦呢?于是服務(wù)器干脆將這個頁面的內(nèi)容修改后全部發(fā)送給瀏覽器,于是第2步,服務(wù)器向瀏覽器發(fā)送的便是"天上星星有幾顆?我不知道啊"這么多的內(nèi)容,瀏覽器重新更新當(dāng)前頁面后的結(jié)果和發(fā)送前的結(jié)果一比較,只多了"我不知道啊"這些內(nèi)容
很明顯,"天上星星有幾顆?"這些內(nèi)容是重復(fù)的,有沒有一個辦法能只發(fā)送"我不知道啊"嗎?于是聰明的程序員就就就就....就將,stop,我們再回頭看第三步,瀏覽器接收到信息之后將當(dāng)前頁面卸載掉并且重寫了,so ga,如果把卸載這一步取消掉,把重寫的操作改為修改不就ok了嗎?于是在瀏覽器和服務(wù)器之間就有了一個劫持者,他將服務(wù)器返回的信息劫持,然后取消了瀏覽器的卸載操作,并且修改了當(dāng)前頁面,這就是Ajax的基本原理。
未完待續(xù),過幾天會更新Ajax的詳細(xì)用法以及如何兼容不同的瀏覽器
相關(guān)文章
springmvc 結(jié)合ajax批量新增的實現(xiàn)方法
這篇文章主要介紹了springmvc 結(jié)合ajax批量新增的實現(xiàn)方法,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11ajax post方式表單提交setRequestHeader報錯解決方法
ajax post方式表單提交設(shè)置異步對象的xhr.setRequestHeader,在谷歌瀏覽器的編譯器中顯示傳值在Request Payload中這是錯誤的2014-09-09用ajax xml的數(shù)據(jù)讀取的HelloWorld程序
我們經(jīng)常會使用JavaScript實現(xiàn)動態(tài)的改變div里面的內(nèi)容,尤其是使用ajax的時候,尤為重要。2009-04-04菜鳥蔡之Ajax復(fù)習(xí)第二篇(JQuery中的load()方法實現(xiàn)Ajax功能)
在上一篇博客中寫到的是在傳統(tǒng)的Javascript中使用XMLHttpRequest對象異步加載數(shù)據(jù)的,唉,童鞋.......看到那些代碼是不是有點頭疼啊!呵呵......2012-11-11