在asp中request对象是获取客户端提交数据的一个很重要的对象,大家对他也是非常熟悉了。 而且,我也看过好多人写的代码,一律都是request("")的写法,当然这样的写法并没有什么错。 所以,问题到了这里,大家就应该想到了, request从这几个集合取数据是有顺序的,从前到后 所以为了提高效率,减少无谓的搜索时间,同时也是为了程序的规范,建议大家还是用request.集合的 下面是一个测试例子,提交以后,大家可以直接在地址后面加上 ?username=aaa 来测试: <%
虽然如此,还是经常有人问我下面的几种写法有什么不同,到底应该怎么写?
strmessage = request("msg")
strmessage = request.form("msg")
只是大家应该注意
request对象有几个集合来获取客户端提交的数据,一般常用的是querystring,form和servervariables。
而不管对于哪种集合其实都是可以通过request("")这样直接取得的,这里就有一个问题,如果
get方式和post方式提交了同样的一个变量,比如username=cqq,那么你用request("username")
取出来的到底是get过来的数据还是post过来的数据呢?
的顺序依次是 querystring,form,最后是servervariables。request对象按照这样的顺序依次搜索
这几个集合中的变量,如果有符合的就中止,后面的就不管了。 所以上面的例子request("username")
取到的实际是get方法提交的数据。
方式更好一点,比如request.form("username")。
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>
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器