在過去,由于為了獲得新數據而不得不重新加載web頁面(或者加載其他頁面)導致web應用程序發展被限制。雖然有其他方法可用(不加載其他頁面),但是這些技術都沒有被很好地支持而且有bug成災的趨向。在過去的幾個月里,一個過去并不被廣泛支持的技術已經被越來越多的web沖浪者(web surfers??是指瀏覽器還是瀏覽者?)所接受,它給了開發者更多的自由開發先進的web應用程序。這些通過javascript來異步取得xml數據的應用程序,被親切的稱為“Ajax應用程序”(Asynchronous javascript and XML applications)。在這篇文章中,我將會解釋如何通過Ajax來取回一個遠程的XML文件并更新一個web page,并且隨著這個系列的繼續,我將討論更多的方法,使用ajax技術將你的web應用程序提升到一個新的層次.
這第一步就是創建一個帶一些數據的XML文件。我們將這個文件命名為data.xml。它是一個簡單的XML文件,而在一個真實的程序中,它會復雜許多,但對于我們的例子來說,簡單明了是最合適地。
這是一些示例數據,它被保存在一個XML文件中,并被javascript取回。
現在讓我們創建一個簡單的web頁面包含一些示例數據。這個頁面將是我們的js腳本所在,并且這個頁面將會讓用戶們訪問柄看到Ajax腳本的運行。我們把它命名為ajax.html
"http://www.w3.org/TR/html4/strict.dtd">
使用ajax開發web應用程序 - 示例
使用ajax開發web應用程序
這個頁面演示了AJAX技術如何通過動態讀取一個遠程文件來更新一個網頁的內容--不需要任何網頁的重新加載。注意:這個例子對于禁止js的用戶來說沒有效果。
這是一些示例數據,它是這個網頁的默認數據 title="查看這個XML數據." onclick="ajaxRead('data.xml'); this.style.display='none'; return false">查看XML數據.
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久久久久久成人|
久久精品国产亚洲精品2020|
黑人巨大精品欧美一区二区|
久久久精品久久|
欧美一级电影免费在线观看|
日韩av免费在线播放|
91九色单男在线观看|
午夜精品国产精品大乳美女|
欧美精品一本久久男人的天堂|
国产a∨精品一区二区三区不卡|
欧美一级电影久久|
久久91亚洲人成电影网站|
国产精品一区二区三区在线播放|
精品国产一区久久久|
国产日本欧美在线观看|
97视频免费在线看|
国产在线视频2019最新视频|
国产免费一区视频观看免费|
91po在线观看91精品国产性色|
国产精品丝袜久久久久久高清|
俺去啦;欧美日韩|
欧美性猛交xxx|
亚洲天堂色网站|
国产一区二区成人|
中文字幕一区二区精品|
久久久久久亚洲精品|
久久影院资源站|
97精品一区二区视频在线观看|
日韩在线视频导航|
亚洲欧美999|
4k岛国日韩精品**专区|
久久综合免费视频影院|
欧美性xxxxxxx|
亚洲激情中文字幕|
亚洲欧美激情精品一区二区|
欧美午夜性色大片在线观看|
91av免费观看91av精品在线|
亚洲亚裔videos黑人hd|
亚洲综合中文字幕68页|
久久精品成人欧美大片|
全亚洲最色的网站在线观看|
97在线视频免费|
激情成人在线视频|
久久精品国产亚洲|
国内精久久久久久久久久人|
国产精欧美一区二区三区|
亚洲欧美精品伊人久久|
久久视频在线视频|
亚洲精品美女在线|
亚洲国产精品va在线看黑人动漫|
久久成人精品视频|
久久男人的天堂|
国产日产久久高清欧美一区|
国产高清视频一区三区|
韩国精品久久久999|
亚洲免费小视频|
欧美成人精品在线视频|
色一区av在线|
亚洲性线免费观看视频成熟|
精品久久久久久中文字幕一区奶水|
亚洲美女在线视频|
日韩一区av在线|
久久成人人人人精品欧|
午夜免费日韩视频|
欧美有码在线观看|
国产精品一区二区久久精品|
xvideos成人免费中文版|
国产视频精品在线|
亚洲黄色有码视频|
一区二区三区四区视频|
欧美成人免费网|
欧美日韩视频免费播放|
亚洲精品美女视频|
国产日本欧美一区|
欧美日韩一区二区免费在线观看|
欧美孕妇性xx|
国产精品欧美激情在线播放|
国产精品扒开腿做爽爽爽的视频|
韩国三级日本三级少妇99|
中文字幕国产亚洲|
国产精品亚发布|
51精品在线观看|
国产精品海角社区在线观看|
日本老师69xxx|
国产69久久精品成人|
日韩精品在线私人|
91免费的视频在线播放|
超在线视频97|
亚洲直播在线一区|
欧美性xxxx|
国产精品h片在线播放|
日韩av有码在线|
这里只有精品视频|
欧美怡红院视频一区二区三区|
国产免费一区二区三区在线能观看|
2018日韩中文字幕|
精品亚洲国产成av人片传媒|
欧美午夜精品久久久久久人妖|
精品日本美女福利在线观看|
欧美精品一区在线播放|
亚洲欧美国产一区二区三区|
亚洲国产精品电影在线观看|
亚洲国产精品国自产拍av秋霞|
日韩女优在线播放|
中文国产亚洲喷潮|
亚洲精品国产精品乱码不99按摩|
欧洲精品毛片网站|
久久久女女女女999久久|
日韩国产欧美区|
日韩精品在线观看一区|
国产精品久久久精品|
日本视频久久久|
欧美高清在线观看|
国产精品一区久久久|
91精品在线影院|
国产69精品久久久久9|
中文字幕亚洲一区二区三区|
性欧美xxxx视频在线观看|
高清欧美性猛交xxxx黑人猛交|
欧美巨乳在线观看|
成人免费网站在线观看|
国产亚洲aⅴaaaaaa毛片|
国产91精品视频在线观看|
国产成人一区三区|
久久av资源网站|
91性高湖久久久久久久久_久久99|
8050国产精品久久久久久|
亚洲最大成人免费视频|
4438全国成人免费|
国产精品中文字幕久久久|
97精品伊人久久久大香线蕉|
www.久久久久久.com|
日本亚洲欧美三级|
久久久99免费视频|
国产亚洲成av人片在线观看桃|
日韩性生活视频|
欧美极品少妇xxxxx|
国产美女精品视频免费观看|
高跟丝袜欧美一区|
久久久电影免费观看完整版|
97超视频免费观看|
中文字幕无线精品亚洲乱码一区|
57pao成人永久免费视频|
91sao在线观看国产|
亚洲久久久久久久久久久|
亚洲一区二区福利|
欧美巨乳美女视频|
成人h视频在线观看播放|
亚洲电影免费观看高清完整版|
日韩一区二区精品视频|
原创国产精品91|
久久久国产一区二区三区|
国产一区二区三区在线观看网站|
亚洲色图第一页|
欧洲亚洲女同hd|
97视频在线观看亚洲|
精品福利樱桃av导航|
亚洲码在线观看|
欧美成年人网站|
久久久久久中文字幕|
欧美精品激情在线观看|
久久久www成人免费精品|
国内外成人免费激情在线视频|
亚洲一区二区三区视频|
注意,對于那些沒有javascript的用戶,我們直接鏈接到data.xml文件。對于那些允許運行javascript的用戶,函數“ajaxRead”將被運行,這個鏈接被隱藏,并不會被轉向到那個data.xml文件。函數“ajaxRead”現在還沒定義。所以如果你要檢驗上面的示例代碼,你會得到一個javascript錯誤。讓我們繼續并定義這個函數(還有其他的),讓你能夠看到ajax是如何工作的,下面的腳本要放到你的head標簽里:
(Sheneyan注:完整代碼示例見 example.html ML文件見:data.xml )
這堆代碼有點多,讓我們一點點的進行。第一個函數叫做“ajaxRead”-也就是我們在頁面的“查看XML數據”鏈接中調用的函數,我們定義了一個“xmlObj”變量-這將作為客戶端(用戶正在查看的這個web頁面)以及服務端(web站點本身)之間的中間件。我們在一個if/else塊中定義這個對象:
if(window.XMLHttpRequest){
xmlObj = new XMLHttpRequest();
} else if(window.ActiveXObject){
xmlObj = new ActiveXObject("Microsoft.XMLHTTP");
} else {
return;
}
這只是一個對不同對象是否可用的測試-某些瀏覽器實現了不同的XMLHttpRequest對象,所以當我們定義“xmlObj”作為我們的XMLHttpRequest對象時,我們不得不根據瀏覽器所實現的來定義它。如果沒有可用的XMLHttpRequest對象,我們將執行“return”語句結束這個函數以避免腳本錯誤。在大部分情況下,這個檢驗將返回一個XMLHttpRequest對象-這部分代碼應該能夠在絕大部分的瀏覽器上工作,除了少部分比較老的瀏覽器的異常情況(它能夠工作在ie5.01上,但是在netscape4上會使函數終止)。
接下來是這些代碼塊:
xmlObj.onreadystatechange = function(){
if(xmlObj.readyState == 4){
updateObj('xmlObj', xmlObj.responseXML.getElementsByTagName('data')[0].firstChild.data);
}
}
每次XMLHttpRequest的狀態發生變化,事件“onreadystatechange”就會被觸發。通過使用“xmlObj.onreadystatechange = function(){...}”我們能夠創建一個函數并讓它在這個XMLHttpRequest對象的狀態每次發生改變的時候立刻運行。這里總共有五個狀態,由0走到4。
0