浅谈ASP中Request对象获取客户端数据的顺序

零工派

零工派

2016-01-29 18:45

浅谈ASP中Request对象获取客户端数据的顺序,浅谈ASP中Request对象获取客户端数据的顺序
 

/**
描述:在使用ASP Request对象时需要注意的小问题
作者:慈勤强
Email : cqq1978@yeah.net
**/

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/asp/)

在ASP中Request对象是获取客户端提交数据的一个很重要的对象,大家对他也是非常熟悉了。
虽然如此,还是经常有人问我下面的几种写法有什么不同,到底应该怎么写?
strMessage = Request("msg")
strMessage = Request.Form("msg")

而且,我也看过好多人写的代码,一律都是Request("")的写法,当然这样的写法并没有什么错。
只是大家应该注意
Request对象有几个集合来获取客户端提交的数据,一般常用的是QueryString,Form和ServerVariables。
而不管对于哪种集合其实都是可以通过Request("")这样直接取得的,这里就有一个问题,如果
Get方式和Post方式提交了同样的一个变量,比如username=cqq,那么你用Request("username")
取出来的到底是Get过来的数据还是Post过来的数据呢?

所以,问题到了这里,大家就应该想到了, Request从这几个集合取数据是有顺序的,从前到后
的顺序依次是 QueryString,Form,最后是ServerVariables。Request对象按照这样的顺序依次搜索
这几个集合中的变量,如果有符合的就中止,后面的就不管了。 所以上面的例子Request("username")
取到的实际是Get方法提交的数据。

所以为了提高效率,减少无谓的搜索时间,同时也是为了程序的规范,建议大家还是用Request.集合的
方式更好一点,比如Request.Form("username")。

下面是一个测试例子,提交以后,大家可以直接在地址后面加上 ?username=aaa 来测试:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/asp/)

<%
If  request("submit")<"" then
 Response.Write "直接取:"& Request("username") & "<br"
 Response.Write "取Get:" & Request.QueryString("username") & "<br"
 Response.Write "取Post:" & Request.Form("username") & "<br"
End if
%
<form name=form1 action="" method=post
<input type=test name="username" value="postuser"
<input type=submit name="submit" value="test"
</form

 
展开更多 50%)
分享

猜你喜欢

浅谈ASP中Request对象获取客户端数据的顺序

ASP
浅谈ASP中Request对象获取客户端数据的顺序

ASP中Request对象获取客户端数据的顺序(容易忽略)

Web开发
ASP中Request对象获取客户端数据的顺序(容易忽略)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

ASP获取客户端MAC地址

ASP
ASP获取客户端MAC地址

ASP如何获取客户端真实IP

Web开发
ASP如何获取客户端真实IP

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

在ASP中获取客户端MAC地址的方法

Web开发
在ASP中获取客户端MAC地址的方法

用ASP.Net获取客户端网卡的MAC

电脑网络
用ASP.Net获取客户端网卡的MAC

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

ASP中存储过程调用的两种方式及比较

ASP中存储过程调用的两种方式及比较

Windows XP简单实用技巧两则

Windows XP简单实用技巧两则
下拉加载更多内容 ↓