準(zhǔn)備
在使用AJAXRequest進(jìn)行AJAX開(kāi)發(fā)之前,你需要做以下準(zhǔn)備:
準(zhǔn)備知識(shí):JavaScript基本語(yǔ)法,文檔對(duì)象模型(DOM)的相關(guān)知識(shí),以及至少掌握一種后臺(tái)編程的語(yǔ)言(我寫(xiě)的例子以ASP為編程語(yǔ)言)。
準(zhǔn)備工具:EditPlus或者其他文本編輯器(Dreamweaver或者Visual Web Developer也可以),以及本地測(cè)試用的Web服務(wù)器(IIS或者Apache或者NetBox或其他都可以)。
下載AJAXRequest類:你可以在http://www.xujiwei.cn/works/ajaxrequest/下載到最新版的AJAXRequest類。
要進(jìn)行AJAX開(kāi)發(fā),你需要了解JS編程,這是AJAX中J的需要,以及后臺(tái)編程,這是需要在服務(wù)端進(jìn)行動(dòng)態(tài)處理,DOM用來(lái)處理信息,將結(jié)果呈現(xiàn)給用戶。而工具方面,文本編輯器可以選擇你自己喜歡的,我比較喜歡用EditPlus。
至于測(cè)試用的Web服務(wù)器,就取決于你所用的后臺(tái)編程語(yǔ)言了,如ASP或ASP.NET是IIS,PHP可以選擇Apache等。運(yùn)行ASP的另外一個(gè)選擇是NetBox,不過(guò)NetBox對(duì)UTF-8支持不太好,如果不涉及非英文的輸出,可以考慮選擇這個(gè)輕量級(jí)的服務(wù)器軟件。
至于為什么要在本地建立測(cè)試服務(wù)器而不是直接在瀏覽器中運(yùn)行,是因?yàn)閺囊婚_(kāi)始就在與服務(wù)器相近的環(huán)境中開(kāi)發(fā),可以在以后的開(kāi)發(fā)過(guò)程中減少許多莫名的錯(cuò)誤。
開(kāi)始
在之后教程的例子中,我都將以JS代碼與XHTML代碼分開(kāi)的方式來(lái)書(shū)寫(xiě),其中AJAXRequest類文件ajaxrequest.js放在例子代碼的同一目錄下。
Hello,World!
按照慣例,以一個(gè)“Hello,World!”來(lái)開(kāi)始。
helloworld.htm
程序代碼:
代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="author" content="xujiwei" />
<meta name="copyright" content="www.xujiwei.cn" />
<meta name="description" content="hello,world" />
<title>Hello,World!</title>
<!-- 包含AJAXRequest類文件 -->
<script type="text/javascript" src="ajaxrequest.js"></script>
<!-- 包含頁(yè)面需要的JS代碼 -->
<script type="text/javascript" src="helloworld.js"></script>
</head>
<body>
<!-- 一個(gè)按鈕,單擊調(diào)用函數(shù)showHello,顯示歡迎信息 -->
<button onclick="showHello();">顯示Hello,World!</button>
</body>
</html>
在helloworld.htm中,我們?cè)陧?yè)面上放置了一個(gè)button,用于觸發(fā)showHello函數(shù),顯示從服務(wù)端獲取的信息。
helloworld.js
程序代碼:
代碼如下:
// 創(chuàng)建AJAXRequest對(duì)象,以全局變量的方式來(lái)保存這個(gè)對(duì)象,這樣在整個(gè)頁(yè)面應(yīng)用程序中就只需要?jiǎng)?chuàng)建一次AJAXRequest類對(duì)象,而不用重復(fù)創(chuàng)建。
var ajax=new AJAXRequest();
/////////////////////////////////////////
// showHello
// 描述:向服務(wù)端發(fā)送請(qǐng)求并顯示返回信息
// 參數(shù):無(wú)
// 返回:無(wú)
/////////////////////////////////////////
function showHello() {
// 使用get方法向服務(wù)端獲取文件helloworld.txt的內(nèi)容,
// 并在函數(shù)mycallback中進(jìn)行處理
ajax.get("helloworld.txt",mycallback);
}
/////////////////////////////////////////
// mycallback
// 描述:向服務(wù)端發(fā)送請(qǐng)求并顯示返回信息
// 參數(shù):obj - XMLHttpRequest對(duì)象,保存服務(wù)端返回信息
// 返回:無(wú)
/////////////////////////////////////////
function mycallback(obj) {
// 用alert來(lái)顯示服務(wù)端返回的內(nèi)容
// obj.responseText為helloworld.txt的內(nèi)容
alert(obj.responseText);
}
在helloworld.js中,創(chuàng)建了一個(gè)全局變量ajax,用于保存一個(gè)AJAXRequest對(duì)象,如果在有多個(gè)函數(shù)需要用到AJAXRequest時(shí),就不需要重新創(chuàng)建AJAXRequest類實(shí)例,只需要直接使用ajax就行了。因?yàn)锳JAXRequest類中具有連接池的特性,因此不會(huì)出現(xiàn)在網(wǎng)絡(luò)延遲較大時(shí)后來(lái)的請(qǐng)求覆蓋前面的請(qǐng)求的情況。
helloworld.txt
程序代碼:
Hello,World!
helloworld.txt為客戶端需要的內(nèi)容,歡迎信息“Hello,World!”。
小結(jié)
在上面的教程中,我們寫(xiě)了一個(gè)小小的AJAX應(yīng)用程序,用于在客戶端用AJAXRequest類從服務(wù)端獲取一個(gè)文本文件,并將它的內(nèi)容顯示出來(lái)。可以看出來(lái),在上面的程序中,我們只是很簡(jiǎn)單的用了AJAXRequest的get方法,就完成了從服務(wù)器獲取文件內(nèi)容的過(guò)程。
在接下來(lái)的教程中,我們將繼續(xù)學(xué)習(xí)AJAXRequest類的使用。
to be continued ...
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com