精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Ajax必備 開發須思考的基本原則

開發 后端
我們知道,AJAX不是一種新的編程語言,而是一種用于創建更好更快以及交互性更強的 Web 應用程序的技術。本文介紹了Ajax開發時需要思考的幾個基本原則,希望對你有幫助,一起來看。

通過 AJAX,您的 JavaScript 可使用 JavaScript 的 XMLHttpRequest 對象來直接與服務器進行通信。通過這個對象,您的 JavaScript 可在不重載頁面的情況與 Web 服務器交換數據。下面介紹Ajax開發時需要思考的幾個基本原則

我們用到的很多框架中都已經固化了基于頁面的傳統應用模式,同時這些應用模式也已經深深進入了我們的思想中。我們花幾分鐘來揭示出哪些核心概念是我們需要重新思考的,以及如何從Ajax的角度來重新思考。

一、瀏覽器中的是應用而不是內容

在傳統的基于頁面的Web應用中,瀏覽器扮演著啞終端1的角色。它對用戶處于操作流程哪一階段一無所知。這些信息全部都保存在服務器上,確切地說,就是在用戶會話上。時至今日,服務器端的用戶會話早已是司空見慣。如果你使用Java 或者.NET 編程,服務器端的用戶會話更是標準API 的一部分——還有Request、Response、MIME 類型——沒有了它們簡直不可想象。

當用戶登錄或者以其他方式初始化一個會話時,系統會創建幾個服務器端的對象。例如,電子商務類型的網站需要創建表示購物車以及用戶身份證明的對象。同時將瀏覽器站點的首頁呈現給用戶,這個HTML 標記的數據流由模板文件以及特定于該用戶的數據和內容(例如該用戶最近瀏覽的商品列表)組成。

用戶每次和服務器交互,都會獲得另一個文檔。在這個文檔中,除了特定于該用戶的數據以外,包含的其他模板文件和數據都是相同的。瀏覽器總是忠實地丟棄掉老的文檔,顯示新的文檔,因為它是啞終端,而且也不知道還可以做些什么。

當用戶選擇退出或者關閉瀏覽器的時候,應用退出,會話消失。這個時候持久層會把用戶下次登錄后需要顯示的信息存儲起來。Ajax則不同,它把一部分應用邏輯從服務器端移到了瀏覽器端。

傳統Web應用的生命周期。用戶和應用會話的所有狀態都保留在Web服務器上。用戶在會話中看到的是一系列的頁面,每次頁面切換都不可避免地要到服務器上走一個來回。

Ajax應用的生命周期。用戶登錄后,服務器交付一個客戶端應用給瀏覽器。這個應用可以獨立處理很多的用戶交互,對于自己無法獨立處理的交互,應用會以后臺方式發送請求給服務器,而不會打斷用戶的操作流程。
用戶登錄的時候,服務器交付給瀏覽器一個復雜得多的文檔,其中包含大量的JavaScript代碼。這個文檔將會在整個會話的生命周期內與用戶相伴。在這一過程中,隨著用戶與其交互,它的外觀可能會發生相當大的變化。它知道如何響應用戶的輸入,能夠決定對于這些請求,是自行處理還是傳遞給Web服務器(Web服務器再去訪問數據庫或者其他資源),或者通過兩者結合的方式進行處理。因為這個文檔在整個用戶會話中都存在,所以它可以保存狀態1。例如,購物車的內容可以保存在瀏覽器中而不是服務器的會話中。

二、服務器交付的是數據而不是內容

我們已經提到,在傳統的Web應用中,服務器在每個步驟都需要把模板文件、內容和數據混合發送給瀏覽器。但實際上,當向購物車中添加一件物品的時候,服務器真正需要響應的僅僅是更新一下購物車中的價格。

基于Ajax的購物車可以向服務器發起一個異步請求來完成這件事,這樣做顯得更聰明。模板文件、導航列表和頁面布局上的其他部分已經隨著初始頁面發送給了瀏覽器,服務器無需重發,以后每次只需要發送相關的數據就可以了。Ajax應用可以通過多種方式來做這件事情。例如,返回一段JavaScript代碼、一段純文本或者一小段XML文檔。這些方式各自的優缺點,我們將留到第5 章再詳細考察。但是,毫無疑問的是,無論返回數據采用何種格式,這些方式所傳輸的數據量都要比傳統的Web應用中一股腦返回一個大雜燴的方式少得多。

在Ajax應用中,網絡的通信流量主要是集中在加載的前期,無論如何,用戶登錄后是需要一次性地將一個大而復雜的客戶端交付給瀏覽器。但是在此之后,與服務器的通信則會有效率得多。對于瞬態應用來說,積累起來的通信流量要比以前的基于頁面的Web應用少很多。與此同時,平均的交互次數則有所增加。整體而言,Ajax應用的帶寬消耗要比傳統的Web應用低一些。

三、用戶交互變得流暢而連續

瀏覽器提供了兩種輸入機制:超鏈接和HTML 表單。超鏈接可以在服務器上創建,并預加載指向動態服務器頁面或者servlet 的CGI 參數。可以用圖片或者CSS(層疊樣式表)來裝飾超鏈接,并且當鼠標停在上面時還可以提供基本的反饋。經過合理設計,超鏈接可以變成一個很有想像力的UI 組件。表單則提供了桌面應用的一組基礎UI 組件:輸入文本框、單選按鈕和多選按鈕,還有下拉列表。但仍然缺少很多有用的UI 組件,例如,沒有可用的樹控件、可編輯的柵格、組合輸入框等。表單像超鏈接一樣,也指向服務器的一個URL 地址。

超鏈接和表單也可以指向JavaScript函數。這一技術通常用在將數據提交給服務器之前對表單輸入進行簡單的校驗,如檢驗是否有空值,數值是否越界等等。這些JavaScript函數的生存期和頁面本身是一致的,當頁面提交之后,這些函數也就不存在了。

當一個頁面已提交而下一個頁面還沒有顯示出來的時候,用戶實際上處于沒人管的狀態。老的頁面還要顯示一會兒,瀏覽器甚至還會允許用戶點擊一些鏈接。但這些點擊可能會導致一些不可預料的結果,甚至破壞服務器端會話的狀態。用戶通常應該等到頁面刷新完成,當然也可以選擇在刷新完成之前就在新頁面上做一些操作。例如,當頁面只顯示了一部分時從中選擇一條褲子放進購物車不大可能會造成什么破壞(例如,不會修改頂級的服裝分類:男裝、女裝、童裝、配飾)。我們繼續看這個購物車的例子。Ajax的購物車是通過異步方式發送數據的,用戶可以很快地把東西拖進來,就像點擊一樣快。只要客戶端購物車的代碼足夠健壯,它可以很輕松地處理這樣的負載,而用戶則可以繼續做他想做的事。

要知道,在服務器端并沒有一個真正的購物車等著裝東西,只有會話中的一個對象而已。購物的時候,用戶并不想知道會話對象,購物車對于用戶而言是一個較恰當的比喻,用現實世界中熟悉的概念來描述這里發生的事情。對于用戶來說,如果強迫他們去理解計算機領域中的術語,只會讓他們遠離網站。等待頁面的刷新,一下子就把用戶從愉快的使用體驗中拽了出來,讓他感覺到自己所面對的只不過是一臺冰冷的機器罷了。使用Ajax來實現這些應用則可以避免這些令人不快的體驗。當然了,在這個例子中的購物只是一個瞬態活動。考察一下其他的業務領域,例如,一個業務量很大的幫助中心或者一項復雜的工程任務,如果因為需要等待頁面刷新,而將工作流程打斷幾秒鐘,那肯定是不可接受的。

Ajax的另一個好處是,我們可以對豐富的用戶操作事件進行捕獲。類似于拖拽這樣的復雜UI 概念也不再是遙不可及的。這使得Web應用的UI 體驗可以全面提升到近乎與桌面應用的UI組件相媲美的高度。從可用性的角度來看,這很重要,不僅僅是因為它釋放了我們的想象力,而且也是因為它可以將用戶交互和服務器端的請求更加充分地混合起來。在傳統的Web應用中,與服務器交互需要點擊超鏈接或者提交表單,然后等待頁面的刷新,這打斷了用戶的工作流程。與之相對應的是,讓服務器響應鼠標移動、拖拽或者鍵盤輸入這樣的用戶事件,也就是說,服務器在用戶身邊為用戶服務,而不是擋在用戶前面,打斷他的操作。
google Suggest(www.google.com/webhp?complete=1)就是這樣一個簡單的但是很有說服力的例子。當用戶在搜索框鍵入一些字符的時候,應用從服務器取回與用戶已鍵入字符串相似的搜索條目(根據全世界其他人的搜索),并且顯示在輸入框下方的下拉列表中。

四、有紀律的嚴肅編程

現在傳統的Web應用有時候也會用到JavaScript,不過主要是用來給頁面添加一些花哨的東西。基于頁面的模型使得這樣的增強沒有辦法更進一步,限制了用戶可以得到的更加理想的交互。這種類似于第22條軍規的狀況,使得JavaScript很不公平地獲得了一種瑣碎的、自由散漫的編程語言的名聲,為那些嚴肅的開發者1所不屑。

為Ajax應用編程的情況則完全不同。提交給用戶運行的應用將會一直運行直到用戶關閉程序為止。不崩潰,不變慢,也沒有內存泄漏之類的毛病。如果我們的產品定位于獨占式應用的市場,這還意味著很多小時的密集使用。要達到這個目標,當然需要高性能的、可維護的代碼,這與服務器端應用的要求是一致的。

相比之下,Ajax的代碼庫會比傳統的Web應用大很多。對代碼庫進行良好的組織是非常重要的。編寫代碼不再是單個開發者的職責,而是整個團隊來參與。可維護性、分離關注點、共同的編程風格以及設計模式,這些都是需要考慮的問題。

從某個角度來看,Ajax應用就是用戶所使用的一塊復雜的代碼,它需要高效地與服務器進行通信。它顯然來源于傳統的基于頁面的Web應用,但是它們之間的相似性也僅限于此,兩者之間的差別就像是木馬輪和現代自行車之間的差別。在腦海中要記得它們之間的這些差別,因為只有這樣才能創造出真正引人注目的Web應用。

原文地址:http://www.yiiyaa.net/

【編輯推薦】

  1. 10大Ajax開發守則
  2. Ajax應用需要注意的事項
  3. jQuery+Ajax+PHP+MySQL實現分類列表管理
  4. 詳解struts2與Ajax的集成
  5. Ajax和WEB服務數據格式:JSON JSONP

 

責任編輯:于鐵 來源: yiiyaa.net
相關推薦

2012-03-06 09:02:41

軟件開發

2022-10-25 09:50:56

2017-04-17 20:50:50

2024-04-28 11:32:32

軟件架構開發

2010-09-28 15:07:48

JavaScript

2021-09-13 10:30:42

C++代碼設計模式

2010-08-12 10:03:21

Flex性能優化

2014-08-25 09:08:23

大數據應用開發

2020-01-08 18:27:53

七項基本原則高效漏洞管理IT

2011-04-22 16:17:53

電腦維修

2015-06-04 10:13:56

DCIM運維管理

2020-01-09 08:55:45

漏洞漏洞管理VM

2018-01-07 00:10:39

數據中心運營IT

2010-05-21 11:22:04

2010-09-09 13:59:55

CSS

2010-09-08 13:53:31

CSS

2011-06-20 16:27:06

2010-08-10 09:53:45

Flex性能優化

2014-11-21 10:17:32

響應式WEB

2010-08-25 15:50:43

點贊
收藏

51CTO技術棧公眾號

国产精品香蕉av| 欧美日韩情趣电影| 国产精品污www一区二区三区| 久久9999久久免费精品国产| 特黄特色欧美大片| 欧美在线啊v一区| 中文字幕の友人北条麻妃| 手机av在线免费观看| 日本特黄久久久高潮| 欧美黑人巨大精品一区二区| 亚洲最大成人网站| 国产一区二区三区视频在线| 精品久久久久久国产| 亚洲国产精品www| 日本xxxxwww| 久久精品国产**网站演员| 97超级碰在线看视频免费在线看 | 欧洲午夜精品| 五月天婷婷综合| 欧美一级免费在线观看| 日韩一区av| 国产成人在线视频免费播放| 国产精品91免费在线| 成人激情视频在线| 色啦啦av综合| 亚洲黄色中文字幕| 一区二区三区在线高清| 亚洲欧美综合一区| 日本国产在线| 成人av资源站| 亚洲aⅴ男人的天堂在线观看| 久久久久久91亚洲精品中文字幕| 中文精品久久| 日韩亚洲欧美中文在线| av网在线播放| 久久狠狠久久| 日韩精品一区二区三区在线 | 变态调教一区二区三区| 国产精品电影一区二区| 日本不卡一区二区三区在线观看| 超碰免费在线97| 久久国产精品色婷婷| 国产91亚洲精品| 亚洲午夜18毛片在线看| 狠狠综合久久| 色综合久久88| √天堂中文官网8在线| 欧美韩国日本在线观看| 中文字幕精品www乱入免费视频| 中文字幕乱码在线| 成人在线视频你懂的| 日韩精品资源二区在线| а 天堂 在线| 国产高清日韩| 日韩午夜电影av| 两性午夜免费视频| 精品久久国产一区| 日韩小视频在线观看专区| 欧美一级免费在线| 欧美1区2区3| 欧美一卡二卡在线| 日本黄色大片在线观看| 中文字幕视频精品一区二区三区| 精品美女在线播放| 日韩一级完整毛片| 国产中文字幕在线免费观看| www成人免费观看| 婷婷激情综合网| 97国产在线播放| 在线观看爽视频| 欧美丝袜一区二区三区| 欧美精品aaaa| 日本国产一区| 欧美一区二区三区视频免费| 日本泡妞xxxx免费视频软件| av一级亚洲| 日韩av网址在线观看| 亚洲熟妇无码av| re久久精品视频| 久久精品国产电影| 久久久久久av无码免费网站| 一本一道久久综合狠狠老精东影业| 91精品国产91久久久久久最新 | 色婷婷综合久久久| 国产一伦一伦一伦| 精品久久免费| 日韩精品在线观| 国产毛片欧美毛片久久久| 91亚洲自偷观看高清| 久久99热精品这里久久精品| 97免费在线观看视频| 日本不卡中文字幕| 91视频婷婷| 日本v片在线免费观看| 国产精品天干天干在线综合| 欧美精品在欧美一区二区| 625成人欧美午夜电影| 欧美日本一区二区| 国产高清成人久久| 日韩欧美在线中字| 久久久久久亚洲精品不卡| 亚洲自拍一区在线观看| 国产精品羞羞答答xxdd| 人偷久久久久久久偷女厕| 黄色在线免费| 在线中文字幕不卡| 动漫av在线免费观看| 精品国产免费观看| 99在线精品免费视频九九视| 国产精品旅馆在线| 少妇一级淫片免费看| 国产精品青草综合久久久久99| 国产www免费| 欧美高清xxx| 精品视频久久久久久久| 岛国毛片在线观看| 免费av网站大全久久| 国产在线一区二区三区播放| 欧美成年黄网站色视频| 欧美视频在线视频| 亚洲av无码专区在线播放中文| 日韩一区三区| 日韩免费观看在线观看| 殴美一级特黄aaaaaa| 亚洲色大成网站www久久九九| 成人免费无码av| 日韩动漫一区| 久久久欧美一区二区| 国产又粗又黄又爽视频| 国产欧美日韩亚州综合| 国产一区二区网| 午夜久久av| 免费av一区二区| 影音先锋黄色网址| 国产欧美日韩亚州综合| 国产亚洲综合视频| 精品国产午夜肉伦伦影院| 欧美乱大交xxxxx| 国产精品毛片一区二区在线看舒淇| 久久久国产精品午夜一区ai换脸| 2022亚洲天堂| 日韩伦理一区二区三区| 91国产中文字幕| 亚洲女人18毛片水真多| 亚洲免费伊人电影| 在线一区二区不卡| 91成人超碰| 91九色在线视频| 精品美女在线观看视频在线观看| 欧美军同video69gay| 午夜激情视频在线播放| 久久精品噜噜噜成人av农村| 丝袜足脚交91精品| 播放一区二区| 中文字幕日韩免费视频| 伊人精品在线视频| 国产精品视频一区二区久久| 国产精品福利av | 国内精品免费**视频| 日本免费在线视频观看| av日韩一区| 不卡av日日日| 性生活免费网站| 亚洲午夜免费视频| 影音先锋人妻啪啪av资源网站| 亚洲区一区二| 欧美激情论坛| 日本精品在线中文字幕| 最近2019免费中文字幕视频三| 中文字幕一区二区人妻痴汉电车| 国产精品嫩草影院com| 91网址在线观看精品| 欧美一区视频| 国产一区二区高清不卡| 中文字幕人成乱码在线观看 | 欧美色图首页| 国产尤物99| 中文.日本.精品| 久久夜色精品亚洲噜噜国产mv| 国产成人久久精品77777综合| 亚洲成av人片一区二区三区| 永久免费看mv网站入口78| 蜜桃久久久久久| 成人黄色片免费| 偷拍精品福利视频导航| 国产精品中文字幕久久久| 91香蕉在线观看| 日韩电影中文字幕在线| 中文在线字幕免费观| 亚洲精品第1页| 午夜理伦三级做爰电影| 国产最新精品免费| 欧美深夜福利视频| 成人三级视频| 成人做爰66片免费看网站| 欧美xo影院| 欧美刺激性大交免费视频| 日韩精品123| 884aa四虎影成人精品一区| www.av麻豆| 亚洲欧洲在线观看av| 国产精品久久AV无码| 麻豆91精品91久久久的内涵| 国产一区二区视频播放| 久久神马影院| 中文字幕高清一区| chinese少妇国语对白| 欧美在线播放| 特级西西444www大精品视频| 超碰在线一区| 国产日韩精品视频| 亚洲深夜视频| 欧美成人网在线| av天在线观看| 国产视频精品免费播放| av免费在线观看不卡| 色婷婷久久久久swag精品| 久久久久久久久久91| 国产精品久久久久婷婷| 爱爱免费小视频| 高清不卡一二三区| 一区二区久久精品| 日本中文字幕不卡| 亚洲自偷自拍熟女另类| 尹人成人综合网| eeuss中文| 色中色综合网| 日本一区二区精品视频| 欧美人妖在线观看| 国产精品免费一区二区| 国产精品欧美一区二区三区不卡| 国产精品扒开腿做| www.com.cn成人| 91wwwcom在线观看| av中文字幕在线观看第一页| 欧美精品日韩三级| 精品欧美色视频网站在线观看| 色香阁99久久精品久久久| 黄色大片在线看| 亚洲片av在线| 国产午夜在线观看| 亚洲视频777| 国产在线观看黄| 亚洲欧洲在线播放| 成人午夜影视| 中文字幕亚洲一区| 午夜免费播放观看在线视频| 中文在线不卡视频| 韩国中文免费在线视频| 亚洲视频免费一区| 免费国产在线视频| 亚洲天堂av在线播放| 男人av在线| 亚洲无限av看| 亚洲精品传媒| 国产一区二区免费| 91激情在线| 久久午夜a级毛片| 丝袜综合欧美| 久久久午夜视频| 国产中文在线播放| 日韩免费av一区二区| 日本国产欧美| 成人精品久久久| 中文字幕区一区二区三| 国内精品视频在线播放| 亚洲国产精品嫩草影院久久av| 欧美精品一区二区三区在线看午夜 | 免费国产精品视频| 亚洲黄一区二区| 免费在线一级视频| 久久激情五月丁香伊人| 91精品久久久久久粉嫩| 久久久久在线观看| 黄色亚洲网站| 91九色国产社区在线观看| 99这里只有精品视频| 久久艳妇乳肉豪妇荡乳av| 欧美手机视频| 91精品国产吴梦梦| 99人久久精品视频最新地址| 成人性生生活性生交12| 国产在线看一区| 中文字幕 日本| 亚洲国产高清不卡| 久久精品欧美一区二区| 日本丶国产丶欧美色综合| 国产精品久久久久久久久毛片 | 亚洲国产欧美在线| 日韩 国产 欧美| 欧美一区午夜精品| 外国精品视频在线观看| 视频一区视频二区国产精品| 男女在线视频| 日本欧美国产在线| 久久伦理中文字幕| 你懂的视频在线一区二区| 久久精品影视| 成人在线观看黄| 国产传媒欧美日韩成人| 中文字幕免费在线播放| 国产精品视频yy9299一区| 久久伊人成人网| 欧美日韩一级二级三级| 五月婷婷久久久| 久久精品国产亚洲精品2020| 综合日韩av| 国产精华一区| 香蕉久久网站| 午夜肉伦伦影院| 国产成人精品影院| 国产激情av在线| 欧美视频免费在线观看| av男人天堂av| 久久国产一区二区三区| 老司机成人影院| 国产一区在线免费| 国产精品vip| 最新国产黄色网址| 国产日产欧美一区| av黄色在线看| 亚洲国产成人精品电影| 中中文字幕av在线| 国产综合久久久久| 成人黄色av| 成人性视频欧美一区二区三区| av一区二区三区在线| 免费一级肉体全黄毛片| 欧美一级日韩免费不卡| 五月天婷婷在线视频| 国产成人一区二区三区| 亚洲另类春色校园小说| ww国产内射精品后入国产| 丰满少妇久久久久久久| 国产精品老熟女一区二区| 6080亚洲精品一区二区| av中文在线| 国产精品最新在线观看| 精品欧美久久| 久久精品免费网站| 日本一区二区成人| 欧美黄色一级大片| 亚洲人线精品午夜| 激情亚洲影院在线观看| 任我爽在线视频精品一| 久久影院亚洲| 第一次破处视频| 在线欧美小视频| 国外av在线| 国产精品久久久久久久久久久久久久| 精品国产一级毛片| 天天操天天爱天天爽| 日本一区二区综合亚洲| 中文区中文字幕免费看| 中文字幕av一区二区三区谷原希美| 欧美性片在线观看| 一区二区免费电影| 国产在线一区二区综合免费视频| 小泽玛利亚一区| 日韩欧美电影一区| 国产粉嫩在线观看| 久久久久久久久久久久久久一区| 午夜一区二区三区不卡视频| www.av欧美| 欧美性大战久久久| 毛片在线不卡| 福利视频一区二区三区| 亚洲大片在线| 深爱五月激情网| 欧美亚洲精品一区| 97超碰资源站在线观看| 精品国产乱码久久久久久88av | 久久综合影院| 亚洲免费黄色网| 洋洋成人永久网站入口| 性高潮久久久久久久久久| 国产精品成人国产乱一区| 亚洲女同另类| 香港三日本8a三级少妇三级99| 日韩欧美在线视频| 免费黄网在线观看| 国产精品一区二区不卡视频| 久久青草久久| 超碰手机在线观看| 日韩精品在线观看一区二区| 欧美亚洲黄色| 丰满少妇久久久| 中文字幕日本不卡| 无码国产精品一区二区免费16| 国产精品你懂得| 黄色亚洲在线| 亚洲色图日韩精品| 欧美精品一区二区三区高清aⅴ| 芒果视频成人app| 国产经典久久久| 久久久久久日产精品| 国产丝袜视频在线观看| 日韩av免费看网站| 亚洲视频福利| 网站永久看片免费|