陸茂邦
ACTIVE SERVE PAGE(以下簡(jiǎn)稱ASP)雖然是一種很舊的技術(shù),但因?yàn)槠浜?jiǎn)單易學(xué)、開(kāi)發(fā)速度快、服務(wù)器要求低,所以雖然現(xiàn)在ASP.NET、JSP等新技術(shù)大行其道,但仍然有一部分人在使用ASP,而且對(duì)于技校的學(xué)生來(lái)說(shuō),ASP也可以作為一門入門編程來(lái)學(xué)習(xí)。
一、ASP編程的好處與AJAX技術(shù)
ASP編程的好處就在于使用方便,客戶只需要有普通的瀏覽器就可以運(yùn)行程序,但其缺點(diǎn)也很明顯,因?yàn)榻Y(jié)構(gòu)限制,所以每次用戶提交數(shù)據(jù)時(shí),都要刷新頁(yè)面,從服務(wù)器獲取新的數(shù)據(jù),這樣需要用戶等待,浪費(fèi)了時(shí)間,而且也要重新載入頁(yè)面,造成了帶寬的浪費(fèi)。鑒于以上的問(wèn)題,所以無(wú)刷新技術(shù)出現(xiàn)了,而其中比較出色和流行的就是AJAX技術(shù)。
AJAX實(shí)際上是多個(gè)技術(shù)的集合。當(dāng)然,它不是只為ASP服務(wù)的技術(shù),它可以在絕大部分的網(wǎng)絡(luò)編程語(yǔ)言中使用,只要你的游覽器支持JAVASCFIPT。AJAX的原理是利用XMLHTTP等組件把程序請(qǐng)求后臺(tái)發(fā)往服務(wù)器,然后再把服務(wù)器的運(yùn)行結(jié)果使用JAVASCRIPT即時(shí)顯示到網(wǎng)頁(yè)上,頁(yè)面是不需要刷新就可以獲得新的數(shù)據(jù)了,這樣不但節(jié)省了用戶的時(shí)間,還減少了服務(wù)器的負(fù)擔(dān)。隨著AJAX技術(shù)的發(fā)展,網(wǎng)上也出現(xiàn)了很多相關(guān)的組件,其中比較著名的是AjaxHelper,該組件使用十分簡(jiǎn)單,不需要深入了解AJAX就能很容易地實(shí)現(xiàn)無(wú)刷新技術(shù),也很適合用于ASP的課堂教學(xué),下面我們就以一個(gè)簡(jiǎn)單的留言本例子來(lái)看看AJAX的強(qiáng)大功能吧。(AjaxHelper組件可以到以下網(wǎng)址下載http://download.csdn.net/source/130042。)
二、AJAX的強(qiáng)大功能與應(yīng)用
1.留言本的數(shù)據(jù)庫(kù)結(jié)構(gòu)(如圖1)
2.留言頁(yè)面guestbook.Asp
(如圖2,因?yàn)樵创a較多,所以只列出較重要的幾行代碼)。當(dāng)我們下載了AjaxHelper組件后,解壓后會(huì)得到AjaxHelper.js文件,我們把該文件和guestbook.asp放在同一目錄下。因?yàn)間uestbook.asp要使用到無(wú)刷新,我們要把AjaxHelper組件導(dǎo)入,方法很簡(jiǎn)單,在
標(biāo)記內(nèi)加上下行代碼。這樣我們就可以在guestbook.Asp中使用AjaxHelper了。按照我們以前的習(xí)慣,只要按“提交”按鈕,表單就會(huì)被提交,并打開(kāi)新頁(yè)面顯示提交結(jié)果。而使用了無(wú)刷新后,當(dāng)我們按“提交”按鈕,表單不需要再提交,只需要把數(shù)據(jù)通過(guò)AjaxHelper組件在后臺(tái)把數(shù)據(jù)提交給處理頁(yè)面(該例子的處理頁(yè)面是gb_insert.asp),然后把處理頁(yè)面的結(jié)果使用顯示到頁(yè)面中(本例是把結(jié)果顯示到一個(gè)SPAN中,名為”jgSpan”)。所以我們?cè)谔峤话粹o中加入如下代碼:
onclick="AjaxHelper.Updater('gb_insert.asp?title='+form1.title.value+&content='+form1.content.value,'jgSpan')"
從上面的代碼我們可以看到,實(shí)際上AjaxHelper主要的函數(shù)是Updater(),該函數(shù)有兩個(gè)參數(shù),第一個(gè)是你要在后臺(tái)運(yùn)行的文件名,第二個(gè)是運(yùn)行結(jié)果顯示在哪里。
3.后臺(tái)添加留言數(shù)據(jù)的頁(yè)面——gb_insert.asp
該文件的代碼基本和以前的差不多,得傳過(guò)來(lái)的title和content值,用INSERT語(yǔ)句加入數(shù)據(jù)庫(kù),但由于該頁(yè)面結(jié)果要顯示在guestbook.asp中,所以該頁(yè)面只需要保留
標(biāo)記內(nèi)的內(nèi)容。當(dāng)代碼完成后,我們一按“提交”按鈕,則不會(huì)再看到頁(yè)面的提交和刷新,而是在表格下方顯示gb_insert.asp的最終結(jié)果:“留言提交成功”,而留言也加到了數(shù)據(jù)庫(kù)中。
通過(guò)上面的例子,我們可以看到使用ASP+AJAX來(lái)實(shí)現(xiàn)網(wǎng)頁(yè)無(wú)刷新技術(shù)是很簡(jiǎn)單的,即使是舊的程序要改為無(wú)刷新,需要修改的代碼也不多,而且也不用重新學(xué)習(xí)新的技術(shù)??梢?jiàn),AJAX無(wú)刷新技術(shù)的方便和易用性,它必將取代傳統(tǒng)的數(shù)據(jù)提交方式,成為網(wǎng)頁(yè)編程的主流。
(作者單位:廣東省肇慶市高級(jí)技工學(xué)校)