亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

淺談我眼中的Ajax

2024-09-01 08:26:21
字體:
來源:轉載
供稿:網友
AJAX在去年確實火爆了,作為Web2.0時代的核心技術,關注度盛況空前,至今仍余音未絕,我一直從事于WinForm、Windows Mobile應用開發,雖然對Web開發略知一二,但從未向學習WinForm開發一樣系統的學過Web,最近閑暇之余從頭學了學ASP.NET,到現在才真正理解清楚了諸如ViewState之類的Web工作原理,我可以肯定的說,時下的Web開發人員中還有什么都沒理解清楚的“高手”,當然ASP.NET并不是今天討論的話題,我們直接看看Ajax吧,在理解清楚它之后你會發現,它比理解WinForm編程中的線程單元要簡單得多,就其技術本身來說并沒有什么神秘與復雜性可言,而且其工作機制還不及三次握手的理解難度,我們并不討論實現的方法,而只對底層工作原理進行剖析,因此讀這篇文章并不需要造火箭的技術。

Ajax(Asynchronous JavaScript and XML)中文意思為異步JavaScript 和XML,或者基于XML的異步JavaScript.它提供了一種局部刷新Web頁面的機制,比起傳統的整頁Load在性能上有了質的飛躍,看看GoogleMap吧,再看看Google輸入框的AutoComplete功能,相信你已經對Ajax無限神往了。每一項技術都有其發展的根源,我們追溯一下Ajax的歷史,其實這個技術最早在IE5.0中被引入,算算也是幾年前的東西了,可惜微軟當時并沒有挖掘出它的價值,直到Flickr, Backpack和Google在這方面作出了驚人的研究成果。就技術根本來說,Ajax只完成了一個功能,即用客戶端代碼(JavaScript )發送Http請求,要完成這一特殊的功能并不是我們這些普通開發人員能簡單實現的,因為它依賴于瀏覽器本身,在IE5中,微軟引入了一個XmlHttp的ActiveX對象,后來Mozilla, Safari 和其他瀏覽器紛紛仿效, 提供了XMLHttpRequest類,它支持微軟這個ActiveX對象所提供的方法和屬性.這個類使得我們用JavaScript發送Http請求成為可能。并且它提供了我們插入響應代碼的途徑。下面是前面所描述的這個對象執行機制的偽代碼:

request = new XMLHttpRequest();

request.open('GET', 'http://localHost/xxxx.aspx, true);

request.send(null);

響應這個請求:

request.onreadystatechange = function(){

var text = request.ResponseText; //取得響應的字符串

// 作出響應.....執行一些客戶端JavaScript

};

當然實際代碼比起這些代碼要復雜得多,但前面說過了,我們并不討論實現方式,而是探尋其執行原理,可見為Ajax剝下神秘面紗后赤裸裸的展示出來其簡單的原理,和C#里的事件響應一樣,只不過這個事件是客戶端請求而服務端觸發罷了,真正的復雜性早已被微軟封裝到ActiveX對象中了,但是原理的簡單并不是說實現的簡單,實現起來確實有些難度,但是現在那么多的AJAX框架已經為我們屏蔽了很底層的東東,實現并不在本文所談論的話題,這里就不詳述了。

任何新技術的引入伴隨的都是痛苦的學習,我們必須掌握其實現原理,才能準確,適宜的用好這些新技術,盲目爛用只能弄巧成拙。那么作為開發人員的我們如何應對已經到來的AJAX呢?以下是我個人理解了AJAX后的一些結論(注:本人自知技術造詣淺陋,不對之處請大家原諒):

理解Ajax解決的問題

Ajax的出現就是為了改善Web程序用戶體驗,用戶點擊頁面后的頁面刷新延遲問題就是引入Ajax的直接理由,如果我們的程序運用AJAX并沒有改善用戶體驗的話那只是為了Ajax而Ajax,而不是為了用戶體驗而Ajax。

Ajax的弊端

1、兼容性。Ajax的立命之本是前面提到的XMLHttpRequest,然而這個對象在各個瀏覽器中不盡相同,這就增加了我們開發過程中完成一個跨瀏覽器的通用代碼的難度,而JavaScript這種語言在各種瀏覽器中對技術的支持和標準也不同,從而加劇了這種困難性。好在市面上紛繁的Ajax框架已經為我們解決了兼容性問題,讓我們構建跨瀏覽器的程序變得簡單起來。
2、服務器壓力。本人認為Ajax把客戶端請求服務器響應這一過程變為異步執行,一方面提高了用戶體驗,同時使得用戶請求響應的次數顯著增加,服務器面臨的壓力也將增強,試想一下,以傳統整頁加載的方式當用戶請求一個頁面時候必然會等待頁面裝載,而Ajax使得請求發出后頁面并不需要等待,這樣用戶可以點擊其他頁面元素再次發送請求,試想一下Google的AutoComplete功能如果是鏈接數據庫請求的話,每次輸入都會發生這一行為,那數據庫壓力是否成倍增長?
3、語言問題。由于Ajax以JavaScript為核心,而這是一種繁雜而又易出錯的語言,它會使得我們將應用邏輯任意地散布在服務端和客戶端中,這使得問題很難被發現而且代碼很難重用。JavaScript甚至被服務端開發人員認為是一種企業級應用不需要使用的東西應該盡力避免。幸好出現了Microsoft Script Debugger等強大的JS調試器,同時VS2008的JavaScript智能功能也在為這些問題而做著努力。然而JavaScript的缺陷如雙重變量賦值(通常是由于缺少數據類型)使得調試程序依然面臨挑戰。

相關技術

由于XMLHttpRequest返回的響應是以字符串形式出現,因此XML成為理想的選擇,Ajax中的x預示著XML將終身伴隨著Ajax,因為大多數開發人員已經掌握了這項流行的技術。對于Xml來說理解Dom是必須的,Xpath為Xml操作提供了捷徑,而XSLT為輸出Html提供了天然的溫床,因此所談到的這些技術作為Ajax開發者必須掌握。加上新引入的XMLHttpRequest對象,和更復雜的JavaScript代碼,相信技術的學習依然會痛苦一段時間。
 

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品久久久久中文字幕二区| 国产精品国语对白| 亚洲激情久久久| 亚洲欧美综合精品久久成人| 亚洲欧美日韩天堂一区二区| 51午夜精品视频| 成人欧美一区二区三区在线湿哒哒| 95av在线视频| 国产成人一区二区| 亚洲男人的天堂在线| 日韩视频永久免费观看| 亚洲成人在线视频播放| 欧美性猛交xxx| 日韩欧美国产免费播放| 日韩电影免费观看在线| 国外色69视频在线观看| 18性欧美xxxⅹ性满足| 18一19gay欧美视频网站| 欧美孕妇与黑人孕交| 日韩精品极品在线观看播放免费视频| 欧美日韩中国免费专区在线看| 午夜精品福利在线观看| 日韩美女视频免费看| 一本一本久久a久久精品牛牛影视| 日韩成人在线视频| 国产精品日韩欧美大师| 久久久久中文字幕2018| 亚洲一区二区三区视频| 2019国产精品自在线拍国产不卡| 国产视频久久久| 国产精品久久久久久久9999| 国产精品免费视频xxxx| 亚洲最大av网| 精品久久久久久久大神国产| 午夜精品久久久久久99热软件| 国产精品久久久久久久久久东京| 亚洲国内高清视频| 日韩精品亚洲精品| 精品动漫一区二区| 国产精品夫妻激情| 欧美片一区二区三区| 精品福利樱桃av导航| 国产精品三级美女白浆呻吟| 一区二区亚洲精品国产| 91影视免费在线观看| 国产成人精品电影久久久| 国产91色在线播放| 欧美电影在线观看| 中文字幕日韩在线播放| 97国产在线观看| 国产日韩欧美电影在线观看| 欧美日韩精品在线| 日韩不卡在线观看| 日本精品久久电影| 一区二区亚洲欧洲国产日韩| 久久精品国产2020观看福利| 日韩成人在线电影网| 中文字幕亚洲欧美日韩在线不卡| 久久久久久成人| 神马国产精品影院av| 国产精品日日摸夜夜添夜夜av| 精品久久久久久久久久久久久久| 国产亚洲一区二区在线| 国产精品91一区| 亚洲天堂av在线免费观看| 国产精品偷伦视频免费观看国产| 亚洲欧美日韩国产中文| 日韩成人中文字幕| 国产精品精品视频一区二区三区| 在线看欧美日韩| 亚洲午夜女主播在线直播| 在线看福利67194| 欧美综合第一页| 日韩在线中文字幕| 在线观看日韩专区| 国产精品久久久久秋霞鲁丝| 91精品久久久久久综合乱菊| 国产不卡av在线| 亚洲国产精久久久久久久| 一本色道久久综合亚洲精品小说| 欧美日韩国产在线| 国产日韩欧美日韩| 日韩网站在线观看| 亚洲美女在线看| 日韩av免费在线播放| 国产精品99久久久久久人| 亚洲最大在线视频| 国产极品jizzhd欧美| 日韩激情av在线免费观看| xxxxx91麻豆| 26uuu日韩精品一区二区| 精品国产福利视频| 在线视频中文亚洲| 国产精品99久久久久久白浆小说| 欧美国产中文字幕| 久久久久久久久久久免费精品| 97**国产露脸精品国产| 91精品在线观看视频| 97av在线播放| 成人亲热视频网站| 国产精品av电影| 黑人精品xxx一区一二区| 国产精品福利久久久| 久久露脸国产精品| 亚洲成人激情在线观看| 日韩精品免费视频| 欧美在线一区二区三区四| 91丝袜美腿美女视频网站| 成人欧美一区二区三区在线| 国产精品久久一| 91精品啪在线观看麻豆免费| 九九视频直播综合网| 欧美午夜片在线免费观看| 国产日韩欧美在线看| 美女福利视频一区| 亚洲级视频在线观看免费1级| 欧美日韩激情网| 国产91免费看片| 亚洲人成人99网站| 国产精品嫩草视频| 97人洗澡人人免费公开视频碰碰碰| 欧美激情国内偷拍| 亚洲精选在线观看| 日韩精品视频免费在线观看| 乱亲女秽乱长久久久| 亚洲人成亚洲人成在线观看| 亚洲精品中文字幕女同| 成人精品网站在线观看| 国内精品久久久久| 国产精品久久久久久久一区探花| 国产在线精品播放| 亚洲国产欧美精品| 国产精品久久久久7777婷婷| 亚洲欧洲激情在线| 国产欧美精品日韩| 97国产suv精品一区二区62| 亚洲国产99精品国自产| 欧美亚洲视频在线看网址| 欧美日韩中文字幕综合视频| 国产精品国语对白| 国产精品aaaa| 精品国产区一区二区三区在线观看| 亚洲国产成人在线播放| 91久久精品美女| 亚洲精品电影久久久| 日韩精品在线观看一区二区| 欧美日韩在线观看视频小说| 国产美女精品免费电影| 欧美猛交免费看| 亚洲精品一区二区三区不| 日韩在线www| 久久亚洲精品一区二区| 日韩在线免费视频| 欧美一级黑人aaaaaaa做受| 亚洲最大的成人网| 亚洲自拍偷拍区| 亚洲欧美一区二区三区四区| 色综合91久久精品中文字幕| 美女撒尿一区二区三区| 日韩在线观看免费全| 97久久精品人人澡人人爽缅北| 久久在线免费观看视频| 久久久人成影片一区二区三区观看| 国产亚洲欧美日韩美女|