AJAX入門--概述XMLHttpRequest_AJAX教程
推薦:淺析AJAX中JavaScript類的三種成員實(shí)現(xiàn)類的公有成員 前面定義的任何類成員都屬于公有成員的范疇,該類的任何實(shí)例都對(duì)外公開這些屬性和方法。 實(shí)現(xiàn)類的私有成員 私有成員即在類的內(nèi)部實(shí)現(xiàn)中可以共享的成員,不對(duì)外公開。JavaScript中并沒有特殊的機(jī)制來(lái)定義私有成員,但可以用一些技巧來(lái)實(shí)現(xiàn)這
在使用XMLHttpRequest對(duì)象發(fā)送請(qǐng)求和處理響應(yīng)之前,必須先用JavaScript創(chuàng)建一個(gè)XMLHttpRequest對(duì)象。由于XMLHttpRequest不是一個(gè)W3C標(biāo)準(zhǔn),所以可以采用多種方法使用JavaScript來(lái)創(chuàng)建XMLHttpRequest的實(shí)例。Internet Explorer把XMLHttpRequest實(shí)現(xiàn)為一個(gè)ActiveX對(duì)象,其他瀏覽器(如Firefox、Safari和Opera)把它實(shí)現(xiàn)為一個(gè)本地JavaScript對(duì)象。由于存在這些差別,JavaScript代碼中必須包含有關(guān)的邏輯,從而使用ActiveX技術(shù)或者使用本地JavaScript對(duì)象技術(shù)來(lái)創(chuàng)建XMLHttpRequest的一個(gè)實(shí)例。很多人可能還記得從前的那段日子,那時(shí)不同瀏覽器上的JavaScript和DOM實(shí)現(xiàn)簡(jiǎn)直千差萬(wàn)別,聽了上面這段話之后,這些人可能又會(huì)不寒而栗。幸運(yùn)的是,在這里為了明確該如何創(chuàng)建XMLHttpRequest對(duì)象的實(shí)例,并不需要那么詳細(xì)地編寫代碼來(lái)區(qū)別瀏覽器類型。你要做的只是檢查瀏覽器是否提供對(duì)ActiveX對(duì)象的支持。如果瀏覽器支持ActiveX對(duì)象,就可以使用ActiveX來(lái)創(chuàng)建XMLHttpRequest對(duì)象。否則,就要使用本地JavaScript對(duì)象技術(shù)來(lái)創(chuàng)建。代碼清單2-1展示了編寫跨瀏覽器的JavaScript代碼來(lái)創(chuàng)建XMLHttpRequest對(duì)象實(shí)例是多么簡(jiǎn)單。
代碼清單2-1 創(chuàng)建XMLHttpRequest對(duì)象的一個(gè)實(shí)例
| var xmlHttp; function createXMLHttpRequest() { if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); } } |
可以看到,創(chuàng)建XMLHttpRequest對(duì)象相當(dāng)容易。首先,要?jiǎng)?chuàng)建一個(gè)全局作用域變量xmlHttp來(lái)保存這個(gè)對(duì)象的引用。createXMLHttpRequest方法完成創(chuàng)建XMLHttpRequest實(shí)例的具體工作。這個(gè)方法中只有簡(jiǎn)單的分支邏輯(選擇邏輯)來(lái)確定如何創(chuàng)建對(duì)象。對(duì)window.ActiveXObject的調(diào)用會(huì)返回一個(gè)對(duì)象,也可能返回null,if語(yǔ)句會(huì)把調(diào)用返回的結(jié)果看作是true或false(如果返回對(duì)象則為true,返回null則為false),以此指示瀏覽器是否支持ActiveX控件,相應(yīng)地得知瀏覽器是不是Internet Explorer。如果確實(shí)是,則通過(guò)實(shí)例化ActiveXObject的一個(gè)新實(shí)例來(lái)創(chuàng)建XMLHttpRequest對(duì)象,并傳入一個(gè)串指示要?jiǎng)?chuàng)建何種類型的ActiveX對(duì)象。在這個(gè)例子中,為構(gòu)造函數(shù)提供的字符串是Microsoft.XMLHTTP,這說(shuō)明你想創(chuàng)建XMLHttpRequest的一個(gè)實(shí)例。如果window.ActiveXObject調(diào)用失敗(返回null),JavaScript就會(huì)轉(zhuǎn)到else語(yǔ)句分支,確定瀏覽器是否把XMLHttpRequest實(shí)現(xiàn)為一個(gè)本地JavaScript對(duì)象。如果存在window.XMLHttpRequest,就會(huì)創(chuàng)建XMLHttpRequest的一個(gè)實(shí)例。
由于JavaScript具有動(dòng)態(tài)類型特性,而且XMLHttpRequest在不同瀏覽器上的實(shí)現(xiàn)是兼容的,所以可以用同樣的方式訪問(wèn)XMLHttpRequest實(shí)例的屬性和方法,而不論這個(gè)實(shí)例創(chuàng)建的方法是什么。這就大大簡(jiǎn)化了開發(fā)過(guò)程,而且在JavaScript中也不必編寫特定于瀏覽器的邏輯。
分享:揭秘AJAX將成為移動(dòng)Web2.0時(shí)代首選開發(fā)平臺(tái)一、 引言 最近,Opera宣布通過(guò)他們的瀏覽器把AJAX技術(shù)應(yīng)用于移動(dòng)設(shè)備開發(fā)中。考慮到Opera瀏覽器在目前瀏覽器市場(chǎng)(特別是在移動(dòng)瀏覽器市場(chǎng))的流行性,我們可以預(yù)計(jì)這一宣布對(duì)于整個(gè)瀏覽器市場(chǎng)必然會(huì)產(chǎn)生重要影響。從加入到移動(dòng)服務(wù)開發(fā)市場(chǎng)幾年的經(jīng)驗(yàn)來(lái)看,我
- Ajax中瀏覽器的緩存問(wèn)題解決方法
- AJAX和WebService實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)具體代碼
- ajax 登錄功能簡(jiǎn)單實(shí)現(xiàn)(未連接數(shù)據(jù)庫(kù))
- AJAX和WebService實(shí)現(xiàn)郵箱驗(yàn)證(無(wú)刷新驗(yàn)證郵件地址是否合法)
- AJAX和三層架構(gòu)實(shí)現(xiàn)分頁(yè)功能具體思路及代碼
- 使用AJAX返回WebService里的集合具體實(shí)現(xiàn)
- AJAX獲取服務(wù)器當(dāng)前時(shí)間及時(shí)間格式輸出處理
- ajax傳遞多個(gè)參數(shù)具體實(shí)現(xiàn)
- ajax傳遞一個(gè)參數(shù)具體實(shí)現(xiàn)
- 滑輪滾動(dòng)到頁(yè)面底部ajax加載數(shù)據(jù)配合jsonp實(shí)現(xiàn)探討
- jQery ajax——load()方法示例介紹
- jQuery+Ajax實(shí)現(xiàn)表格數(shù)據(jù)不同列標(biāo)題排序(為表格注入活力)
AJAX教程Rss訂閱編程教程搜索
AJAX教程推薦
- 用AJAX編寫用戶注冊(cè)實(shí)例及技術(shù)小結(jié)
- 菜鳥蔡之Ajax復(fù)習(xí)第三篇(Ajax之無(wú)刷新登錄)
- Ajax與JSON的一些學(xué)習(xí)總結(jié)
- javascript Ajax獲取遠(yuǎn)程url的返回判斷
- AJAX快速入門之HTTP協(xié)議基礎(chǔ)
- 輕量級(jí)的Ajax解決方案——DynAjax:直接在客戶端調(diào)用C#類的方法
- 談AJAX技術(shù)在PHP開發(fā)中的簡(jiǎn)單應(yīng)用
- Ajax入門Tags標(biāo)記
- 解決ajax緩存的三種方法
- ajax struts2 下拉框賦值(適合所有)
- 相關(guān)鏈接:
- 教程說(shuō)明:
AJAX教程-AJAX入門--概述XMLHttpRequest
。