




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学习ASP,最重要的就是要掌握ASP内置的六大对象。事实上,在上一讲中,我们已经了解了Response对象(是吗?有没有搞错!),及Response对象中最常用的Write方法、Redirect方法和Expires属性。看到对象、方法、属性、集合、事件这些概念(俺一个都不识!),如果以前没接触过,聪明的您就不要管这些概念了,知道怎么用就行了,我的观点是刚开始关键在于临摹。下面我们继续通过实例学习Request对象,为了加深理解,务请运行这些程序看看输出结果。一、 使用Request.ServerVariables获取环境变量,这部分内容很简单,但获取的内容却很重要,如何获取?请看下例: %wuf8.aspResponse.Write 运行ASP文件的路径: &_ Request.ServerVariables(Script_Name) & Response.Write 返回content的数据长度: &_ Request.ServerVariables(Content_Length) & Response.Write 返回客户的IP地址: &_ Request.ServerVariables(Remote_Addr) & Response.Write 浏览器名: &_ Request.ServerVariables(HTTP_USER_AGENT) & Response.Write 返回主页实际物理路径: &_ Request.ServerVariables(APPL_PHYSICAL_PATH) & % 环境变量名 内容 result1 result2 Now,你应该发现上一讲中的例程wuf2.asp原来是多么的easy! 注意:该程序的后面一部分HTML标记纯是为下面的例子作准备的,所以不要觉得奇怪。那么,还有哪些环境变量呢?运行下面的例子就知道了(本程序删除了部分代码,最好去我站点下载源程序便于理解)。 环境变量名 结果%for each Sv In Request.ServerVariablesResponse.Write Response.Write Response.Write SvResponse.Write Response.Write Response.Write Request.ServerVariables(Sv)Response.Write next%这里使用了ForEach循环,用来列举一个集合中的所有元素。如果后半部分看不懂,请对照wuf8.asp,再瞧瞧运行结果,仔细体会一下(什么态度?)。二、 通过表单向服务器传送数据(也可这样理解,服务器端如何读取客户端发送的数据)做过主页,应该知道很多主页通常都使用Form表单让用户输入数据,然后通过“submit(提交)”按钮发送数据。From表单中的“method”有两种主要方法:POST和GET,而“action”后一般都是指定一个.cgi、.pl或.asp文件,今天我们要学习的就是如果编写这个.asp文件。(一) 如果使用POST方法传送数据,则用Request.Form来读取数据。先编辑如下一个wuf10.htm文件,供用户输入数据:姓名: 性别: 男 女 留言: 您好!注意多行文本的处理爱好(按住Ctrl键可多选): 电脑 购物 电影 读书 再编写一个wuf10.htm需用到的文件wuf11.asp收集数据:% wuf11.aspOption ExplicitResponse.Expires=0Dim StrName, StrGender, StrM, StrMsgStrName = Trim(Request.Form(yourname) Trim函数用来除首尾空格StrGender = Trim(Request.Form(gender)StrM = Trim(Request.Form(message)StrMsg = Replace(StrM,vbcrlf, & vbcrlf) vbcrlf相当于回车符和换行符的组合。至于Replace函数,其作用就是将字符串StrM中的vbcrlf替换为 & vbcrlf(请思考这个vbcrlf有什么用?查看输出文件的HTML源码就明白了),详细请参考VBScript帮助。%姓名: 性别: 留言: 实际上, 提交按钮的值也被传递: %先把上面看懂, 有兴趣再看看如何读取多个选项Response.Write 共选择爱好项数: & Request.Form(hobby).Count & Dim I For I = 1 to Request.Form(hobby).CountResponse.Write Request.Form(hobby)(I) & Next%在这个的例子中,为了便于理解,我们使用了两个程序,实际上只使用一个程序也可以,如果有兴趣请看下面的例程wuf12.asp,有助于加深对环境变量的理解。% wuf12.aspOption ExplicitResponse.Expires=0Dim StrName, StrGender, StrM, StrMsgIf Request.ServerVariables(Content_Length) 0 Then提交数据后,这个长度就不会是 0, 因此执行下面的语句, 将结果显示出来下面一部分实际上是照搬 wuf11.aspStrName = Trim(Request.Form(yourname) StrGender = Trim(Request.Form(gender)StrM = Trim(Request.Form(message)StrMsg = Replace(StrM,vbcrlf, & vbcrlf) %姓名: 性别: 留言: % Response.Write 共选择爱好项数: & Request.Form(hobby).Count & Dim I For I = 1 to Request.Form(hobby).CountResponse.Write Request.Form(hobby)(I) & Next%Else当第一次加载页面时,没有提交任何数据,故前面一部分并不执行,而是从这里开始这也就是为什么会有两对 的原因下面照搬 wuf10.htm 就行了 给用环境变量替换掉了, 其实完全一样Response.Write 看看结果: & Request.ServerVariables(Script_name) & %form method=post action=姓名: 性别: 男 女 留言: 您好!注意多行文本的处理爱好(按住Ctrl键可多选): 电脑 购物 电影 读书 (二)如果使用GET方法传送数据,则用Request.Querystring来读取数据。先编辑如下一个wuf13.htm文件,供用户输入数据:英文姓名: 中文姓名: 性别: 男 女再编写一个wuf13.htm需用到的文件wuf14.asp收集数据:英文姓名: 中文姓名: 性别: 看看提交的字符串: 为了更好地理解这个程序,你最好先在浏览器中试试例程wuf13.htm的效果,看看输出的结果,你会发现地址栏中长长的字符串似曾相识,如同在Yahoo搜索时看到的差不多。这时,你试着在地址栏中直接输入“http:/localhost/wuf14.asp?Ename=Rose&Cname=李二&gender=女”,居然也得到了同样的结果。所以你可以这样看,wuf13.htm的结果就是得到了类似这样的一个带参数的链接。而Request.QueryString则是从http:/ 地址的附加参数中读取各个数据。实际上,当按“提交”按钮后,查询字符串(输入的数据)会以参数的形式附加到URL地址后(各参数间以“&”分隔),达到传递数据的目的。同时,注意浏览器中显示的查询字符串中没有中文,而是不认识的含百分号的乱码,这是因为进行了编码的缘故。最后,与前面一样,这两个程序也可合并为一个程序(例程wuf15.asp,需去我站点下载)。几点说明:1 若使用POST方法提交数据,则Request.ServerVariables(Content_Length)0。 若使用GET方法提交数据,则Request.ServerVariables(Query_String) 。2 弄懂原理后,你完全可以在同一个ASP文件中混合使用Request.Fo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论