从请求ASP Classic 3.0中检索参数

时间:2013-05-16 13:12:07

标签: asp-classic request http-request-parameters

检索请求参数之间是否存在问题或区别,如下所示:

Request("<ParamName>")

而不是:

Request.Form("<ParamName>")
Request.QueryString("<ParamName>")

提前致谢!

1 个答案:

答案 0 :(得分:3)

Request.Form()将获取POST的值。 Request.QueryString()将包含查询字符串中的值。 Request()将包含POSTed值,除非同名的QueryString值,在这种情况下它将包含QueryString值。

我认为cookie也可以参与其中,但我的记忆对于它们如何适应堆栈有点模糊。

如果你关心来自POST表单的值,那么使用Request.Form(),如果你关心URL查询字符串值,那么使用Request.QueryString()。如果你不在乎,只需使用Request()。

快速测试样本:

<% OPTION EXPLICIT %>
<%
    dim vname : vname = "test"

    dim r   : r   = request(vname)
    dim r_f : r_f = request.form(vname)
    dim r_q : r_q = request.querystring(vname)

%>
POST:<br />
<form method="post">
<input type="text" name="test" value="Posted Form Value">
<input type="submit" name = "">
</form>

<hr>

<a href='?test=<% = Server.HtmlEncode("Querystring in URL") %>'>GET</a>

<hr>
request: <% = r %>

<hr>
request.form: <% = r_f %>

<hr>
request.querystring: <% = r_q %>