找出 JS-ASP 中是否存在 URL 参数

lev*_*vik 1 javascript asp-classic jscript

我正在编辑其他人的代码,用 ASP 的服务器端 JS 编写,遇到了一个可能有一个非常简单的解决方案的问题。

我正在从 URL 参数输出一些代码,如下所示:

<%=Request.QueryString("param")%>
Run Code Online (Sandbox Code Playgroud)

问题是,如果参数不存在,我需要做其他事情。所以我试过:

<% 
  var param = Request.QueryString("param");
  if (!param) { param = "Some Default Value"; }
%>
<%=param%>
Run Code Online (Sandbox Code Playgroud)

问题是即使缺少 URL 参数,if似乎也永远不会评估为true。我猜这个!image条件在这里不起作用。我的测试条件应该是什么?

(请放弃有关转义 URL 参数以防止 XSS 的严厉警告。)

Che*_*vel 5

检查查询字符串参数是否存在的正确方法是使用以下Count属性:

<% 
  var param = Request.QueryString("param");
  if (param.Count === 0) { param = "Some Default Value"; }
%>
<%=param%>
Run Code Online (Sandbox Code Playgroud)

根据文档Request.QueryString

Request.QueryString( parameter ) 的值是出现在 QUERY_STRING 中的所有参数值的数组。

这可能就是简单if (!param)检查不起作用的原因。