经典的ASP重定向应该去哪里?

时间:2015-11-18 14:19:23

标签: vbscript asp-classic

下面的代码应该放在<head>吗? 或者除了以下代码之外,页面中是否还有其他内容?

<%
    Response.Redirect "http://www.sitename.com/?" & Request.QueryString
%>

2 个答案:

答案 0 :(得分:3)

只要您启用response buffering但未拨打Response.Redirect,就可以在页面的任何位置执行<head>。缓冲导致在将任何页面发送到浏览器之前执行所有ASP代码。因此,如果您在Response.Buffer = True 之后在代码中执行重定向,则不会将任何HTML发送到浏览器,因此将正确发送重定向标头。

这些天,IIS中默认情况下默认启用缓冲。为安全起见,您可以在ASP页面的顶部附近包含此行:

$('.captcha-error1').fadeIn(1000).delay(900).fadeOut();

答案 1 :(得分:1)

经典ASP是服务器端代码,<head>以及所有html是客户端代码。如果你在.asp页面中有这一行,那么在页面上没有任何其他内容,因为用户永远不会有机会看到它。

如果它在条件语句中,那么该行会更有意义 - 例如

<%
    If Request.QueryString("id") <> "" then
    Response.Redirect "http://www.sitename.com/?" & Request.QueryString("id")
    End If
%>

如果网址中提供了id的值,则用户只会被退回到其他网页,否则页面中的任何客户端代码都会被发送到浏览器