主頁 > 知識(shí)庫 > ASP編程入門進(jìn)階(四):內(nèi)置對象Request

ASP編程入門進(jìn)階(四):內(nèi)置對象Request

熱門標(biāo)簽:虛擬電話外呼系統(tǒng) 鄢陵學(xué)校如何做地圖標(biāo)注 長春公司外呼系統(tǒng)中心 鄭州智能外呼電銷機(jī)器人廠家 成都ai外呼系統(tǒng)線路 廣東語音外呼系統(tǒng)公司 沈陽三五防封電銷卡 沈陽電話機(jī)器人公司 云南便宜外呼系統(tǒng)平臺(tái)
系統(tǒng)學(xué)習(xí)ASP,就是先從ASP的幾大內(nèi)置對象開始的.
一般稱五大對象:Request、Response、Server、Session、Application
今天先來看看Request對象。

當(dāng)然一直還沒有提到的就是,ASP到底是什么樣?我看代碼怎么知道是ASP代碼?
很簡單,當(dāng)看到“%”和“%>”就表明是ASP,并且兩者之間的就是ASP源碼。

那為什么要學(xué)對象,對象的作用又是如何的?
其實(shí)ASP所提供的這些可在腳本中使用的內(nèi)建對象,使用戶更容易收集通過瀏覽器請求發(fā)送的信息、響應(yīng)瀏覽器以及存儲(chǔ)用戶信息,從而使對象開發(fā)者擺脫了很多煩瑣的工作。

而Request對象的主要作用就是:在服務(wù)器端接受并得到從客戶端瀏覽器提交或上傳的信息。Request 對象可以訪問任何基于 HTTP 請求傳遞的所有信息,包括從Form表單用 POST 方法或 GET 方法傳遞的參數(shù)、cookie 等。

一,Request.form("name")

這是接受上一頁的信息時(shí),常會(huì)用到的一種接受方式。Request是ASP對象,form則是Request對象所包含的對象集合(這要有區(qū)別與HTML頁中的form表單,是不一樣的),name也就是上一頁表單中的某個(gè)文本框、密碼框,或者隱藏域等的名稱。并且還有一點(diǎn)非常重要:上一頁Form表單的遞交方法一定要為Post方法。
說不如做,看下面兩個(gè)頁面程序。

1,test1.html(本頁是HTML的,主要提供輸入信息的平臺(tái),以將信息提交到再下面的ASP頁進(jìn)行接受處理)

[Ctrl+A 全部選擇進(jìn)行拷貝 提示:可先修改部分代碼,再點(diǎn)擊運(yùn)行]

注意method就是post,且提交的頁面action為submit1.asp。

2,submit1.asp(ASP頁面,進(jìn)行從test1.html接受name="yourname"和name="yourpwd"的兩個(gè)值)


your name is:%=request.form("yourname")%>br>
your pwd is:%=request.form("yourpwd")%>


通過IIS進(jìn)行HTTP協(xié)議的頁面調(diào)試,你會(huì)發(fā)現(xiàn)兩個(gè)頁面進(jìn)行了關(guān)聯(lián):test1.html中動(dòng)態(tài)輸入的name和pwd,在submit1.asp也則進(jìn)行相應(yīng)的動(dòng)態(tài)顯示。
這就是接收、提取并顯示信息的全過程。

3,改進(jìn)的submit1.asp


% for each i in request.form%>
%=i%>:
%=request.form(i)%>
br>
%next%>


采用了for循環(huán)語句,將上頁所有的form標(biāo)簽信息進(jìn)行接受、并顯示。這在上表單頁有很多項(xiàng)目時(shí),非常快捷地出來結(jié)果。
首先仍然是request.form,只是后面的("yourname")或("yourpwd")變成了變量 i
通過for循環(huán)對該form集合進(jìn)行遍歷提取,這是一種不同于機(jī)械地“有幾個(gè)就提取幾個(gè)”的編程思想,注意掌握。

二,Request.querystring("name")

此時(shí)由Request.form變?yōu)镽equest.querystring,最主要的還是上頁表單遞交時(shí),采用的什么方法。當(dāng)采用post就用Request.form,否則當(dāng)采用get時(shí)就采用Request.querystring了。

那Request.querystring最大特色在哪里呢?Request.querystring能檢索并接受 HTTP 查詢字符串中變量的值,而HTTP 查詢字符串則是由問號 (?) 后的值指定的。說了大半天,繼續(xù)看一個(gè)程序。

1,test2.html(本頁同是HTML的,主要提供輸入信息的平臺(tái),以將信息提交到再下面的ASP頁進(jìn)行接受處理,注意提交方法是get)

[Ctrl+A 全部選擇進(jìn)行拷貝 提示:可先修改部分代碼,再點(diǎn)擊運(yùn)行]

和test1.html最大區(qū)別也就是method="get"

2,submit2.asp(ASP頁面,進(jìn)行從test1.html接受name="yourname"和name="yourpwd"的兩個(gè)值)


your name is:%=request.querystring("yourname")%>br>
your pwd is:%=request.querystring("yourpwd")%>


注意此時(shí)的瀏覽器地址欄,文件后面多出了?號,?號后面附有變量名及所被賦的值,當(dāng)然多個(gè)變量名之間是用號進(jìn)行連接的。
而Request.querystring最大的功能就是能將?號后面的這些變量名分開,并且所對應(yīng)的值也一一取出。

剛才說到不同的變量名之間是用號進(jìn)行連接,但如果是相同的變量名時(shí),request.querystring到底是提取前一個(gè)?后一個(gè)?還是兩個(gè)一起?
用例子說話。
3,query.asp(名稱是query.asp,因?yàn)樵谠擁摮绦蛑惺欠答伣o自己。)


a href="query.asp?bookname=《asp教程》">《asp教程》/a>br>
a href="query.asp?bookname=《jsp教程》">《jsp教程》/a>br>
a href="query.asp?bookname=《xsp教程》bookname=《xml》">《xsp教程》/a>br>
you chosed %=request.querystring("bookname")%>


很明顯當(dāng)點(diǎn)《xsp教程》時(shí),顯示的是“《xsp教程》,《xml》”,中間自動(dòng)加了“,”號。

最后仍需要說明的是:request.querystring在分頁程序里面是經(jīng)常用到的。象http://www.cnbruce.com/database/

三,Request.ServerVariables("xxx")
其中ServerVariables就是服務(wù)器的環(huán)境變量了,該變量包含的內(nèi)容比較多,我們同樣先采用for循環(huán)進(jìn)行遍歷查看下。
1,server1.asp


%for each i in request.servervariables%>
%=i%>:
%=request.servervariables(i)%>
hr>
%Next%>


可以看到一大堆環(huán)境變量,其中還有沒有值的,下面摘取幾個(gè)比較常用的。


http_user_agent(客戶端機(jī)器的相關(guān)環(huán)境):%=request.servervariables("http_user_agent")%>br>

http_accept_language(瀏覽語言):%=request.servervariables("http_accept_language")%>br>

CONTENT_LENGTH(客戶端發(fā)出內(nèi)容的長度):%=request.servervariables("CONTENT_LENGTH")%>br>

CONTENT_TYPE(內(nèi)容的數(shù)據(jù)類型。如“text/html”。同附加信息 的查詢一起使用,如 HTTP 查詢 GET、POST 和 PUT):%=request.servervariables("CONTENT_TYPE")%>br>

LOCAL_ADDR(返回接受請求的服務(wù)器地址。如果在綁定多個(gè)IP地址的多宿主機(jī)器上查找請求所使用的地址時(shí),這條變量非常重要):%=request.servervariables("LOCAL_ADDR")%>br>

REMOTE_ADDR(發(fā)出請求的遠(yuǎn)程主機(jī)client的 IP 地址):%=request.servervariables("REMOTE_ADDR")%>br>

SERVER_NAME(出現(xiàn)在自引用 URL 中的服務(wù)器主機(jī)名、DNS 化名 或 IP 地址):%=request.servervariables("SERVER_NAME")%>br>

SCRIPT_NAME(主機(jī)名后面的虛擬地址):%=request.servervariables("SCRIPT_NAME")%>br>

LOGON_USER(用戶登錄 Windows NT 的帳號):%=request.servervariables("LOGON_USER")%>br>

SERVER_PORT(發(fā)送請求的端口號):%=request.servervariables("SERVER_PORT")%>



根據(jù)以上的SERVER_NAME是提取的服務(wù)器主機(jī)名,SCRIPT_NAME是提取的虛擬地址,則兩者的結(jié)合再加上http:// 是不是就是個(gè)完整的網(wǎng)址呢。
2,server2.asp


%a=request.servervariables("server_name")%>
%b=request.servervariables("script_name")%>
%="http://"ab%>


其中http:// 用引號引起,表示是一字符串,a和b分別是對應(yīng)了具體值的變量,在ASP中進(jìn)行這樣的連接就是采用號。

根據(jù)這個(gè)結(jié)果,我們是不是就可以隨時(shí)提取動(dòng)態(tài)的URL地址了。

再來看看query.asp,要求一定要保存為query.asp的,因?yàn)槿绻皇窃撐募?,程序指向就?huì)出錯(cuò)。
但現(xiàn)在的這個(gè)文件就隨便你保存為什么文件,都一樣執(zhí)行。
3,xxx.asp(隨便你保存成什么文件)


%filepath=request.servervariables("script_name")%>
a href="%=filepath%>?bookname=《asp教程》">《asp教程》/a>br>
a href="%=filepath%>?bookname=《jsp教程》">《jsp教程》/a>br>
a href="%=filepath%>?bookname=《xsp教程》bookname=《xml》">《xsp教程》/a>br>
you chosed %=request.querystring("bookname")%>


先將當(dāng)前文件的地址取出并賦值給變量filepath
然后所有的鏈接地址開頭都只要直接引用該變量就OK了。
是不是很有用,有點(diǎn)萬能的感覺。

四,Request.Cookies("name")
不用我說,Cookie是個(gè)很重要的東西,究竟如何,等我們學(xué)完了下面的對象Response后,會(huì)有個(gè)特別Cookie的專題講座。
就先擱著吧。

以上四則運(yùn)用,屬于Request對象的所包含的四個(gè)對象集合:form、querystring、servervarivables、cookies。當(dāng)然還有個(gè)ClientCertificate就不說啦

一個(gè)ASP內(nèi)置對象除了對象集合外還有對象屬性、對象方法

Request對象的對象屬性只有一個(gè)就是TotalBytes(接受的字節(jié)數(shù)),你可將


%=request.totalbytes%>


該語句加入到任何一個(gè)接受數(shù)據(jù)的ASP頁面中進(jìn)行顯示了。

Request對象的對象方法也還是一個(gè):BinaryRead 。
說實(shí)話,這東東不常用,我也沒用過,呵呵。

OK~!有關(guān)Request對象的學(xué)習(xí)就差不多了,最主要是先好好理解三個(gè)對象集合,cookies不著急,下節(jié)繼續(xù)學(xué)習(xí)對象Response。

標(biāo)簽:湖北 遼陽 馬鞍山 孝感 平頂山 朝陽 四平 防城港

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP編程入門進(jìn)階(四):內(nèi)置對象Request》,本文關(guān)鍵詞  ASP,編程,入門,進(jìn)階,四,內(nèi)置,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP編程入門進(jìn)階(四):內(nèi)置對象Request》相關(guān)的同類信息!
  • 本頁收集關(guān)于ASP編程入門進(jìn)階(四):內(nèi)置對象Request的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章