Request对象在HTTP请求期间检索客户端浏览器传递给服务器的值。也就是说用它来与客户端交互,收集客户端信息或服务器端的环境变量,然后将收集的这些信息发送给服务器端或其它asp页面。
一、Request 对象的集合
Request对象共有5个集合,如下表:
集合名称说 明 ClientCertificate当客户端访问一个页面或其它资源时,用来向服务器表明身份的客户证书的所有字段或条目的数值集合,每个成员均是只读。(用于检索存储在发送到HTTP请求中客户端证书中的字段值) Cookies根据用户的请求,用户系统发出的所有Cookier的值的集合,这些Cookie仅对相应的域有效,每个成员均为只读。(用于检索在HTTP请求中发送的Cookie的值。) FormMETHOD的属性值为POST时,所有作为请求提交的form段中的HTML控件单元的值的集合,每个成员均为只读。(用于检索HTTP请求正文中表单元素的值。)
QueryString表单信息通过get方式发送时,服务器端或另一个asp页面就使用querystring方法接收。(用于检索HTTP查询字符串中变量的值。) SeverVariables随同客户端请求发出的HTTP报头值,以Web 服务器的几种环境变量的值的集合,每个成员均为只读。(用于检索预定的环境变量的值。)注:在这些集合中,最常用的是Form、Cookies 和QueryStuing 集合。
二、Request对象的属性
TotalBytes是Request对象惟一的属性,它提供关于用户请求的字节数量的信息,返回由客户端发出的请求信息的字节数。使用中往往关心的是请求信息的值,而不是它的长度,所以这个属性很少被用于ASP页。
三、Request对象的方法
BinaryRead是Request对象的惟一方法,它允许访问从用户页面FORM段中传递给服务器的请求信息的完整内容、碁语法格式如下:
Requset.BinaryRead(count)
说明: count表示当数据作为POST请求的一部分发往服务器时,从客户请求中获得数据的字节数。 该方法返回一个Variant数组(或者SafeArray). 如果ASP代码已经引用了Request.Form集合,这个方法就不能再用。同样,如果用了BinaryRead方法,也不能再访问Request.Form集合。
四、Request对象的使用
在ASP中,当请求一个页面或传递一个表单时,Request对象为脚本提供了客户端浏览器所提供的全部信息。其语法格式为:
Request.[ 集合 | 属性 | 方法 ] (变量)
五、ASP与表单的交互
在动态网页设计中,往往由表单来接受用户输入的信息。表单标记的语法格式如下:
Form method=传送方式 action="URL".../FORM
其中: "URL"设置处理程序的相对或绝对位置。 传送方式用于指明交互表单的信息传送方式,有Post和Get两种。
使用表单传送信息的方式通常有三种方法:
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)1) 由HTML网页中的表单传送信息给处理该信息的ASP文件。
2) 由ASP文件中的表单传送信息由其自身进行处理。
3) 由ASP文件中的表单传送信息给另一个ASP文件来处理。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)实例1:使用网页名为1.htm的HTML网页中的表单输入并提交信息。再由名为1.asp的服务器端的表单处理程序中的Request对象读取浏览器端的数据并返回相应信息。
1.htm网页代码如下:
htmlheadtitle利用表单输入信息/title/headbodyform action="8-1.asp" Method="post"姓名:input tyjpe="Text" name="姓名" size=8brp性别:男input type="Radio" name="性别" value="男" Checked女input type="Radio" name="性别" value="女"pinput type="Submit" value="提交"input type="Reset" value="重写"/form/body/html
1.asp网页代码如下:
htmlheadtitle使用Request对象获得表单信息/title/headBodyp align="center"欢迎您登录本站点p%Response.write"您是:" & Request.form("姓名")if Request.form("性别")="男" thenResponse.write"。是一位帅男。"elseResponse.write"。是一位亮妹。"end if%pa href="1.htm"返回上一页/a/P/Body/html
实例2:我们可以将上面两个页面合并成一个网页,即将表单传过来的信息由其自身进行处理。代码如下:
htmlheadtitle利用表单输入信息/title/headbodyh3 align=centerASP与表单的交互/h3brcenter%xm=Request.form("姓名")xb=Request.form("性别")if xm"" thenResponse.write"p欢迎登录本站br"Response.write"您的大名是" & xm &"。"if xb="男" thenResponse.write".是一位帅男。"elseResponse.write"。是一位亮妹。"end ifResponse.write"Pa href='4-3-1.asp' target='txtFrame'返回上一页/a"Response.endend if%请输入form Action="2.asp" method=post姓名:input type="text" Name="姓名" size=8性别:男input type="Radio" Name="性别" value="男" checked女input type="Radio" Name="性别" value="女"pinput type="Submit" value="提交"input type="Reset" value="重写"/form/center/body/html