【问题标题】:Retrieving parameters from request ASP Classic 3.0从请求 ASP Classic 3.0 中检索参数
【发布时间】:2013-05-16 13:12:07
【问题描述】:

如下检索请求参数是否有问题或区别:

Request("<ParamName>")

代替:

Request.Form("&lt;ParamName&gt;")
Request.QueryString("&lt;ParamName&gt;") ?

提前致谢!

【问题讨论】:

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


    【解决方案1】:

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

    我认为 cookie 也可能参与其中,但我对它们如何放入堆栈的记忆有点模糊。

    如果您关心来自 POSTed 表单的值,则使用 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 %>
    

    【讨论】:

    • 是的。 Request("foo") 将搜索以下集合:Request.FormRequest.QueryStringRequest.Cookies,最后是 Request.ServerVariables。指定您需要搜索的集合会更有效。
    猜你喜欢
    • 1970-01-01
    • 2016-02-11
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-29
    相关资源
    最近更新 更多