Web應(yīng)用程序的簡單AJAX實(shí)現(xiàn)

Web應(yīng)用程序的簡單AJAX實(shí)現(xiàn)

ID:41007709

大?。?4.00 KB

頁數(shù):6頁

時(shí)間:2019-08-13

Web應(yīng)用程序的簡單AJAX實(shí)現(xiàn)_第1頁
Web應(yīng)用程序的簡單AJAX實(shí)現(xiàn)_第2頁
Web應(yīng)用程序的簡單AJAX實(shí)現(xiàn)_第3頁
Web應(yīng)用程序的簡單AJAX實(shí)現(xiàn)_第4頁
Web應(yīng)用程序的簡單AJAX實(shí)現(xiàn)_第5頁
資源描述:

《Web應(yīng)用程序的簡單AJAX實(shí)現(xiàn)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、ASP.NETWeb應(yīng)用程序的簡單AJAX實(shí)現(xiàn) 提要本文描述了使用一種簡單的方式來實(shí)現(xiàn)在ASP.NETweb應(yīng)用程序中加入AJAX功能?! ∫弧⒑喗椤 ”疚拿枋隽艘环N簡單的方式來實(shí)現(xiàn)在ASP.NETweb應(yīng)用程序中加入AJAX功能。我們還將討論使用AJAX的優(yōu)缺點(diǎn)。為了說明問題,本文還提供了一些可用的JavaScript和C#.NET代碼?! 《?、為什么使用AJAX  大多數(shù)讀者可能已經(jīng)知道,AJAX代表了異步JavaScript+XML。這種技術(shù)首先由微軟在1999年引入,并以"使用遠(yuǎn)程調(diào)用的DHTML/JavaScriptweb應(yīng)用程序"著稱。這一技

2、術(shù)的基本思想是,允許一個(gè)互聯(lián)網(wǎng)瀏覽器向一個(gè)遠(yuǎn)程頁面/服務(wù)作異步的HTTP調(diào)用,并且用收到的結(jié)果更新一個(gè)當(dāng)前web頁面而不必刷新整個(gè)頁面。根據(jù)這種技術(shù)創(chuàng)建者的意見,這種技術(shù)應(yīng)能夠改進(jìn)客戶端的體驗(yàn)-使得HTTP頁面外觀與使用感覺很類似于Windows桌面應(yīng)用程序。  因?yàn)檫@種技術(shù)的核心實(shí)現(xiàn)是基于互聯(lián)網(wǎng)瀏覽器功能,所以其用途在當(dāng)時(shí)是很有限的。但是,幾年過去了,隨著新一代瀏覽器的支持和大量的應(yīng)用實(shí)踐(例如Google,Amazon.com,eBay等),這種技術(shù)已經(jīng)重新煥發(fā)生機(jī)?! 〗裉?,它以AJAX著名,被作為任何提供高級(jí)用戶體驗(yàn)的動(dòng)態(tài)頁面的自然的構(gòu)成部分?!?/p>

3、 三、方案描述  在本文中我們所推薦的方案盡管很簡單,然而卻十分有效地實(shí)現(xiàn)了AJAX功能。這個(gè)程序很容易維護(hù)和修改,不要求開發(fā)者具備任何特別的技巧;而且,根據(jù)我們的經(jīng)驗(yàn),它還是跨瀏覽器兼容的。  基本上,一個(gè)常規(guī)的類似AJAX的實(shí)現(xiàn)包括兩個(gè)主要組成部分:一個(gè)使用JavaScript代碼進(jìn)行AJAX調(diào)用并接收響應(yīng)的客戶端HTML頁面;一個(gè)遠(yuǎn)程頁面-它能夠接收一個(gè)請(qǐng)求并對(duì)請(qǐng)求的信息加以響應(yīng)。在客戶端頁面中的JavaScript代碼負(fù)責(zé)實(shí)例化一個(gè)XmlHttp對(duì)象,然后提供給這個(gè)對(duì)象一個(gè)回調(diào)方法-它負(fù)責(zé)處理收到的信息,最后把請(qǐng)求經(jīng)由XmlHttp對(duì)象發(fā)送到遠(yuǎn)程

4、頁面。所有這些都是通過JavaScript代碼來實(shí)現(xiàn)的?! ∥覀兊姆椒ㄖ饕轻槍?duì)于ASP.NET應(yīng)用程序中的應(yīng)用,并且考慮下列可能的情形:  ·AJAX調(diào)用可以發(fā)生于web應(yīng)用程序的不同的ASP.NET頁面上甚至是遠(yuǎn)程頁面上;  ·一遠(yuǎn)程頁面URL可能包含動(dòng)態(tài)計(jì)算的參數(shù),并且可能在ASP.NET頁面的code-behind處構(gòu)建一個(gè)URL字符串更為方便些;  ·在更新一個(gè)HTML頁面之前,一個(gè)遠(yuǎn)程頁面可能響應(yīng)于一個(gè)復(fù)雜的數(shù)據(jù)分析要求;  ·一遠(yuǎn)程頁面可能或者是一個(gè)外部的第三方頁面,或者是該Web應(yīng)用程序自己的頁面或服務(wù)?! ∷械倪@些考慮都顯示在下圖中:

5、  四、實(shí)現(xiàn)  (一)基本AJAXJavaScript方法  我把所有的JavaScript方法分成兩部分:調(diào)用頁面特定的JavaScript方法,和通用于所有調(diào)用頁面的AJAXJavaScript方法。特定的方法還包括一個(gè)回調(diào)函數(shù),由于它負(fù)責(zé)更新頁面內(nèi)容。通用的AJAX方法負(fù)責(zé)實(shí)例化一個(gè)XmlHttp對(duì)象并向遠(yuǎn)程頁面發(fā)送異步請(qǐng)求?! 〉玫揭粋€(gè)XmlHttp對(duì)象的過程因?yàn)g覽器的不同而有所不同。我把它們區(qū)分為兩種不同的基本類型:微軟瀏覽器(IE家族之一)和Mozilla瀏覽器(它是指MozillaFirefox,Netscape,或Safari之一)。我還

6、在Opera瀏覽器上測試了本文中的代碼,但是我不可能保證它會(huì)一直工作良好。functionGetXmlHttpObject(handler){ varobjXmlHttp=null; if(!window.XMLHttpRequest){  //微軟  objXmlHttp=GetMSXmlHttp();  if(objXmlHttp!=null){   objXmlHttp.onreadystatechange=handler;  } } else{  //Mozilla

7、Netscape

8、Safari  objXmlHttp=newXMLHttpRe

9、quest();  if(objXmlHttp!=null){   objXmlHttp.onload=handler;   objXmlHttp.onerror=handler;  } } returnobjXmlHttp;}functionGetMSXmlHttp(){ varxmlHttp=null; varclsids=["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP.2.6","Microsof

10、t.XMLHTTP.1.0","Microsoft.XMLHTTP.1","Mi

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。