AJAX調(diào)用了用戶交互在網(wǎng)絡(luò)上一個(gè)巨大的進(jìn)步:我們不再需要重新加載頁面針對每個(gè)用戶輸入。 使用AJAX,那么我們可以把服務(wù)器上的具體程序和更新頁面根據(jù)返回的值,給我們的應(yīng)用程序快速交互。
什么是AJAX調(diào)用不包括從服務(wù)器更新,需要現(xiàn)代實(shí)時(shí)和協(xié)作網(wǎng)絡(luò)。 這需要更新覆蓋用例從幾個(gè)用戶協(xié)作編輯文檔通知潛在的數(shù)以百萬計(jì)的讀者的新聞網(wǎng)站的目標(biāo)已經(jīng)在世界杯比賽。 另一個(gè)消息傳遞模式,除了響應(yīng)AJAX請求,需要——一個(gè)在任何規(guī)模。 PubSub(如“發(fā)布和訂閱”)是一種建立消息傳遞模式,實(shí)現(xiàn)這一點(diǎn)。
在本文中,我們將看看如何PubSub解決了更新的問題,我們會看看(一個(gè)特定的解決方案?WAMP協(xié)議?),將調(diào)用服務(wù)器上的程序和PubSub成一個(gè)單一的API。
AJAX解決什么
在AJAX之前,交互性web頁面上是非常笨重。 任何用戶交互需要一個(gè)更新版本的頁面在服務(wù)器上生成,發(fā)送到瀏覽器和呈現(xiàn)。 在這個(gè)模型中,交互的基本單位是頁面。 任何瀏覽器發(fā)送到服務(wù)器,無論多么小所需的更新,結(jié)果總是一個(gè)完整的新頁面。 這是線交通和服務(wù)器資源的浪費(fèi),為用戶,這是緩慢而痛苦的。
AJAX?打破了這由granularizing事情:現(xiàn)在你可以發(fā)送數(shù)據(jù),接收就引發(fā)的相互作用的結(jié)果,然后更新頁面的相關(guān)部分基于此響應(yīng)。 使用AJAX,我們從一個(gè)廣義調(diào)用(“給我一個(gè)新頁面”)到多個(gè)interaction-specific調(diào)用。 使用AJAX,?遠(yuǎn)程過程調(diào)用?在服務(wù)器上(RPC)。
考慮以下簡單的示例web應(yīng)用程序的投票成為可能:
你最喜歡什么味道? (圖片:?Tavendo?)(?查看大版本?)
用戶可以投票給任何一個(gè)人的三個(gè)冰淇淋口味。
使用AJAX,點(diǎn)擊投票可能會導(dǎo)致這樣的:
我們將改變只是味道的計(jì)票投票給用戶,根據(jù)返回的AJAX調(diào)用。 我們已經(jīng)從呈現(xiàn)整個(gè)頁面更新一個(gè)DOM元素。
這意味著少了很多為服務(wù)器,和更少的交通線路上的。 我們得到了投票計(jì)數(shù),而不是一個(gè)完整的頁面。 最重要的是,它使一個(gè)快速更新的接口,極大地提高用戶體驗(yàn)。
本文由北京網(wǎng)站建設(shè)公司傳誠信翻譯傳播,轉(zhuǎn)載請注明!