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

首頁 > 開發 > AJAX > 正文

揭開AJAX神秘面紗

2024-09-01 08:26:28
字體:
來源:轉載
供稿:網友

本文通過一個簡單的例子來說明如何在IE6中使用AJAX技術。在這例子中,客戶端每隔十秒,從服務器端取回一個隨機的字符串,在不重新刷新頁情況下,自動更新部分頁面內容。例子僅用到了兩個jsp文件,client.jsp及server.jsp。

AJAX,即"Asynchronous JavaScript And XML"的縮寫,可翻譯為異步JavaScript及XML技術。其核心是一個寄宿在瀏覽器中名為XMLHTTPRequest的類。通過此類,可以做到無需提交表單就可以實現與服務器的連接;無需刷新整個頁面,就可以動態更新頁面中一部分的內容。XMLHTTPRequest通常使用XML作為數據交換的載體,但也可使用其他的載體,如純文本。簡單來說,就是通過XMLHTTPRequest發送信息給服務器,異步接收服務器處理并返回信息,然后通過JavaScript動態更新頁面的部分內容。

盡管AJAX近來非?;鸨?,但AJAX并非新的技術,正如其名所示,只不過是JavaScript加上XML的技術罷了。而且使用上非常簡單。

應用AJAX的流程:
1、定義一個事件處理器
2、獲取XMLHTTPRequest,并將事件處理器注冊給它
3、與服務器連接
4、發送信息
5、服務器返回處理完畢的信息
6、每當XMLHTTPRequest的狀態發生變化,自動觸發事件處理器
7、事件處理器動態更新頁面

本文通過一個簡單的例子來說明如何在IE6中使用AJAX技術。在這例子中,客戶端每隔十秒,從服務器端取回一個隨機的字符串,在不重新刷新頁情況下,自動更新部分頁面內容。例子僅用到了兩個jsp文件,client.jsp及server.jsp。為了方便說明,我用server.jsp來代替本應作為Servlet的Server.java。

先看client.jsp內容:
 




"http://www.w3.org/TR/html4/loose.dtd">



< meta http-equiv="Content-Type" content="text/html; charset=gb2312">

< script language="JavaScript">
var xmlHttp;

function getGiftFromServer() {
var url = "http://localhost:8084/ajax/server.jsp";
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}

xmlHttp.onreadystatechange = showGift;

xmlHttp.open("GET", url, true);
xmlHttp.send(null);

setTimeout("getGiftFromServer()",10000);
}

function showGift() {
if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
document.getElementById("output").innerHTML = "Time is for " +
xmlHttp.responseText + ".";
}
}
< /script>



AJAX例子





加載頁面時,將調用JavaScript的getGiftFromServer()函數,此函數完成了上面所提的應用AJAX的流程
中第1至第4步,
同時設定了一個每隔十秒自動調用此函數的定時器。
而showGift()函數完成所提流程中的第5至第7步。下面詳細說明每一步驟。

1、定義事件處理器,此處理器將在服務器端返回數據時自動被觸發執行。
    function showGift() {
if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
document.getElementById("output").innerHTML = "Time is for " + xmlHttp.
responseText + ".";
}
}

因為我們這里使用異步,readyState屬性用來判斷服務器返回信息的狀態。其值是一個從0至4的整數,對應于:

0:對象已創建,但未初始化(未調用open()方法)
1:對象已創建,但未調用send()方法
2:已調用send()方法,但status及headers還未可用
3:已經傳回部分數據,但status及headers還未完全可用
4:已經收到所有數據,可使用所有數據


2、獲取XMLHTTPRequest,并將事件處理器注冊給它

注意:要使用XMLHTTPRequest,需要IE5.0以上的版本。

2.1 取得XMLHTTPRequest

在IE7.0之前獲得XMLHTTPRequest,使用如下代碼:
    if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}

而在IE7.0中:
    if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest
}

2.2 注冊事件處理器
xmlHttp.onreadystatechange = showGift;

showGift為傳入的方法名,每當XMLHTTPRequest的狀態發生改變時,將執行此方法

3. 與服務器連接并發送

xmlHttp.open("GET", url , true)

其方法簽名如下:

xmlHttp.open(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword)

其中:
bstrMethod: 連接方式,可用的有GET, POST, PUT, or PROPFIND
bstrUrl: 服務器的url
varAsync(可選): 調用是否異步,默認為true(調用立即返回)
bstrUser(可選):用戶名,如果url需要驗證時附上
bstrPassword(可選):密碼,如果url需要驗證時附上

open()方法可以直接打開一個xml文檔,并通過xmlHttp的responseXML來讀取相應的節點。如下例:
    xmlHttp.open("GET","http://localhost/books.xml", false);
xmlHttp.send();
var book = xmlhttp.responseXML.selectSingleNode("//book[@id='bk101']");

4、發送信息
xmlHttp.send(null)

其方法簽名如下:
xmlHttp.send( [varBody])

varBody(可選): 可為字符串或xml等數據,可以為null。無返回值

此方法在open()設為異步時,立即返回;在open()設為同步時,必須等到reponse對象從服務器中返回時才返回。

5、服務器返回處理完畢的信息

此時,該是服務器端工作了,server.jsp的代碼如下:

從三個字符串中隨機挑選一個寫入到response中,返回客戶端。

6、客戶端自動探知XMLHTTPRequest的狀態已經發生變化,自動觸發事件處理器

7、事件處理器動態更新頁面

處理器讀取xmlHttp.responseText的值,并通過JavaScript動態更新
的內容。

document.getElementById("output").innerHTML = "Time is for " + xmlHttp.responseText + ".";
結語:

由上7步可見,AJAX并不復雜,遠比想像中要簡單得多。牢牢記住這一點,“AJAX讓我們在不用刷新頁面的情況下,可以動態地更新網頁部分內容”,然后運用到各種需要用到這種性能的場合,將使我們的網頁更有創意。
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美激情精品久久久久久大尺度| 国产精品入口夜色视频大尺度| 国产精品揄拍一区二区| 最近2019年中文视频免费在线观看| 97精品一区二区三区| 国语对白做受69| 亚洲欧美日韩国产中文专区| 国产一区二区三区毛片| 欧美精品在线网站| 久久五月天综合| 日韩在线播放av| 欧美激情奇米色| 日韩电视剧免费观看网站| 国产一区二区三区在线观看网站| 欧美日韩免费看| 日韩在线视频观看| 久久久久国产一区二区三区| 成人看片人aa| 国内精品中文字幕| 精品毛片三在线观看| 黑人巨大精品欧美一区免费视频| 97成人精品视频在线观看| 色狠狠久久aa北条麻妃| 国产中文字幕亚洲| 亚洲专区在线视频| 国产精品网红福利| 久久视频这里只有精品| 亚洲欧美日韩国产成人| 久久久中文字幕| 亚洲韩国青草视频| 国产成人福利视频| 日本久久久久久久久久久| 欧美电影免费观看电视剧大全| 中文字幕日韩综合av| 久久影视电视剧免费网站| 国产亚洲美女久久| 成人黄色午夜影院| 91精品国产91久久久久久不卡| 久久久久久久久久久91| 国产精品一区二区久久| 亚洲午夜国产成人av电影男同| 久久成年人视频| 欧美一性一乱一交一视频| 国产ts人妖一区二区三区| 在线一区二区日韩| 欧美专区日韩视频| 黑人巨大精品欧美一区二区三区| 成人亲热视频网站| 亚洲精品91美女久久久久久久| 欧洲精品在线视频| 一本一本久久a久久精品牛牛影视| 国产精品白丝av嫩草影院| 国产精品第一区| 丝袜美腿亚洲一区二区| 日本久久久久亚洲中字幕| 国产欧美在线视频| 日韩电影免费在线观看中文字幕| 亚洲国产一区二区三区在线观看| 成人黄色av免费在线观看| 国产xxx69麻豆国语对白| 国产精品va在线播放| 欧美日韩国产成人在线| 中国人与牲禽动交精品| 精品亚洲精品福利线在观看| 在线免费观看羞羞视频一区二区| 亚洲精品视频中文字幕| 日韩在线视频导航| 中文字幕av一区二区三区谷原希美| 在线电影中文日韩| 精品国产乱码久久久久久婷婷| 国产亚洲精品久久久优势| 久久精视频免费在线久久完整在线看| 欧美日韩不卡合集视频| 色一情一乱一区二区| 欧美性xxxx极品hd满灌| 亚洲欧美一区二区三区情侣bbw| 成人a视频在线观看| 国产精品黄视频| 精品精品国产国产自在线| 亚洲a级在线播放观看| 国产精品影院在线观看| 亚洲成人精品久久| 久久九九有精品国产23| 亚洲精品网址在线观看| 亚洲成人999| 久久99亚洲热视| 国产mv免费观看入口亚洲| 最近更新的2019中文字幕| 欧美日本啪啪无遮挡网站| 欧美精品生活片| 国产精品偷伦免费视频观看的| 欧美裸体男粗大视频在线观看| 色中色综合影院手机版在线观看| 国内精品久久久久| 国产一区二区三区网站| 久久久久久国产免费| 亚洲成人黄色在线观看| 日日骚av一区| 欧美另类第一页| 成人免费在线视频网站| 欧美性生交大片免网| 亚洲图片欧洲图片av| 精品国偷自产在线视频| 亚洲欧洲美洲在线综合| 久久精品久久久久久| 国产午夜精品理论片a级探花| 美女精品久久久| 色综合伊人色综合网| 国产精品日日做人人爱| 日韩欧中文字幕| 国产精品视频免费在线观看| 欧美日韩国内自拍| 91九色单男在线观看| 在线国产精品播放| 成人激情黄色网| 亚洲国产成人精品久久久国产成人一区| 国产精品久久久久aaaa九色| 色噜噜亚洲精品中文字幕| 精品视频一区在线视频| 26uuu久久噜噜噜噜| 欧美午夜激情小视频| 久久国内精品一国内精品| 久久久久久久电影一区| 成人综合国产精品| 中文字幕亚洲一区二区三区| 一二美女精品欧洲| 国产精品一区二区三区毛片淫片| 在线观看成人黄色| 精品成人乱色一区二区| 日韩欧美精品网站| 国产精品xxx视频| 国产精品男女猛烈高潮激情| 亚洲国产天堂久久综合网| 国产日韩av在线播放| 久久久久这里只有精品| 狠狠色狠狠色综合日日五| 欧美亚洲视频一区二区| 69**夜色精品国产69乱| 国产一区二区激情| 欧美老少做受xxxx高潮| 成人中文字幕在线观看| 欧美自拍视频在线观看| 亚洲欧洲成视频免费观看| 欧美大全免费观看电视剧大泉洋| 成人免费网站在线看| 国产精品极品美女粉嫩高清在线| 这里只有精品丝袜| 亚洲女在线观看| 成人欧美在线视频| 国产成人97精品免费看片| 最近2019年日本中文免费字幕| 欧美精品久久久久久久久久| 中文字幕日韩综合av| 欧美亚洲第一页| 国产丝袜精品第一页| 日韩有码在线电影| 午夜精品三级视频福利| 亚洲福利视频网站| 性欧美视频videos6一9| 欧美国产高跟鞋裸体秀xxxhd| 少妇激情综合网| 亚洲国产精品推荐| 久久久成人的性感天堂| 国产亚洲aⅴaaaaaa毛片|