繁体   English   中英

请求与Request.QueryString

[英]Request versus Request.QueryString

这两个在VBScript中有什么区别:

Request("startDate")

Request.QueryString["startDate"]

Request("startDate")记录在哪里? 我在这里没有看到这种用法:

http://www.w3schools.com/asp/asp_ref_request.asp

ASP classic中Request对象的官方文档如下: http//msdn.microsoft.com/en-us/library/ms524948%28VS.90%29.aspx

引用此问题的相关部分:

通过调用Request(变量)而不使用集合名称可以直接访问所有变量。 在这种情况下,Web服务器按以下顺序搜索集合:

  • 请求参数
  • 形成
  • 饼干
  • ClientCertificate
  • ServerVariables

如果多个集合中存在具有相同名称的变量,则Request对象将返回该对象遇到的第一个实例。


编辑:AnthonyWJones对这个问题做了很好的评论:避免使用Request("name")语法。 实际上,这在上面的文档链接中提到:

强烈建议在引用集合成员时使用全名。 例如,而不是Request 。(“AUTH_USER”)使用Request.ServerVariables (“AUTH_USER”)。 这允许服务器更快地定位项目。

请参阅Request()vs Request.QueryString()

根据我的理解,当您自己使用Request时,它将返回请求集合中的第一个匹配项。 附带的解决方案中解释得很好。

很抱歉疏通了这个问题,但考虑到使用Request(“param”)的警告,我不得不加上我的两分钱。 在这种特殊情况下,有一个很好的理由使用Request(“param”)而不是Request.QueryString(“param”):它允许您编写将接受参数作为查询字符串的一部分或通过表单提交的代码。 我经常遇到不仅方便而且可取的情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM