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

2016-02-19 09:52 14 1 收藏

想要天天向上,就要懂得享受学习。图老师为大家推荐ASP中Request对象获取客户端数据的顺序(容易忽略),精彩的内容需要你们用心的阅读。还在等什么快点来看看吧!

【 tulaoshi.com - Web开发 】

在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 来测试:

%
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

来源:http://www.tulaoshi.com/n/20160219/1592456.html

延伸阅读
标签: Web开发
通过WMI来实现获取客户端计算机硬件及系统信息: 1//系统信息获取 2function getSysInfo(){ 3 var locator = new ActiveXObject ("WbemScripting.SWbemLocator"); 4 var service = locator.ConnectServer("."); 5 //CPU信息 6 var cpu = new Enumerator (service.ExecQuery("SELECT * FROM Win32_Processor&qu...
标签: Web开发
 //作者:叨叨 //email:pjzhp@263.net //客户端对用户输入数据校验 //如果输入的内容不满足,则不提交,并且焦点自动跳到该位置。 //比发送以后在服务器端校验数据要好用的多! 脚本代码: <script language="JavaScript" <!-- function Juge(theForm) { if (theForm.title.value == "") { alert("请输入标题!"); theFo...
标签: ASP
  先贴一篇较简单的用ASP+RDS客户端参生报表 此文希望能进精华篇 下一回贴一篇较复杂的 说明:(若提示ActiveX 元件无法参生 RDS.DataSpace) IE需设置安全选项 操作:菜单工具-INTERNET选项-安全性-自定义 设置 起始但ActiveX不标示为安全-开启 <html <head <META content="text/html; charset=gb2312" http-equiv=...
标签: ASP
Request对象用于接受所有从浏览器发往你的服务器的请求内的所有信息。 集合 Request.ClientCertificate(key[SubField]) 所有客户证书的信息的集合。对于Key,该集合具有如下的关键字: Subject 证书的主题。包含所有关于证书收据的信息。能和所有的子域后缀一起使用。 Issuer 证书的发行人。包含所有关于证书验证的信息。除了CN外,能和所...

经验教程

521

收藏

22
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部