因为asp是在服务器端运行,而js是在浏览器端运行的,所以当服务器在解析asp脚本的时候无法调用js变量。
要想在asp中使用js的变量,只能通过传参的方式传递给服务器,例如
<script type="text/javascript">function getUrlParms(code){
var reg = new RegExp("(^|&)"+ code +"=([^&]*)(&|$)")
var r = window.location.search.substr(1).match(reg)
if(r!=null)
return unescape(r[2])
return null
}
<%
if Request.QueryString("id") = "" then
%>
var id = getUrlParms("code")
location.href = location.href + "?id=" + id
<%
else
response.Redirect "/download=" & Request.QueryString("id")
end if
%>
</script>
ASP里当然不能直接使用JS的变量,两者是完全不同的东西,运行环境和解析器都不同。你把<script language="javascript">改成<script language="javascript" runat="server">试试。