form表单采用post提交方式提交,在url后面加问号再传递一个参数,提交后是否能接收到?
可以接收到。
Request从几个集合取数据是有顺序的,从前到后的顺序依次是 QueryString,Form,最后是ServerVariables。
Request对象按照这样的顺序依次搜索这几个集合中的变量,如果有符合的就中止,后面的就不管了。
假设有个页面:test.asp?id=111
1、页面是用的是POST的方法发送数据给test.asp:
需要用request.from("id")取值。
用request("id")也能取到数据,但需要先检测QUERYSTRING的值,速度就变慢了。
2、页面是用的GET的方法发送数据给test.asp:
request.querystring("id")与request("id")都是可以取到get方法的传值。
request.querystring("id")只能取GET的数据。
扩展资料:
form的常见属性:
1、id:表单的唯一标识。
2、name:表单的名字。
3、method:定义表单提交的方法,有两种方法:Post方法和Get方法。
4、action:用于处理表单的服务器端页面(以URL 形式表示)。
表单中的控件的两个属性:name属性和value属性,每一个控件的这两个属性将构成“name-value对”提交到action属性所定义的页面进行处理。
post方法:
用这种方法提交的表单,数据将以数据块的形式提交到服务器,表单数据不会出现在URL中,所以用这种方式提交的表单数据是安全的。如果表单数据中包含类似于密码等数据,建议使用post方法。
Get方法:
这是发送表单数据的默认方法,这种方法会以 “?name1=value1&name2=value2”的形式,将表单数据附加到URL的后面,提交到服务器处理,这种方法安全性不如post方法,因为表单数据会暴露在URL中,但是它的处理效率要比post方法高。
Request从几个集合取数据是有顺序的,从前到后的顺序依次是 QueryString,Form,最后是ServerVariables。Request对象按照这样的顺序依次搜索这几个集合中的变量,如果有符合的就中止,后面的就不管了。
现在我们来分析下你得问题.
假设有个页面 test.asp?id=111
这里我们的页面是用GET的方法.这时用request.querystring("id")与request("id")是一样得,应该如果不指定REQUEST得集合,首先就会从Querystring搜索.
而如果我们的页面是用的是POST的方法发送数据给test.asp,那么用request.querystring("id")是不行的了(他只能取GET),而要用request.from("id"),而如果还用request("id")他也能取到数据,但先检测QUERYSTRING的值,显然速度就慢了.
下面是个检测的例子你可以看看:
<%
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>