Javascript Asp response.redirect不重定向

Javascript Asp response.redirect不重定向,javascript,ajax,redirect,asp-classic,Javascript,Ajax,Redirect,Asp Classic,我有一个登录弹出表单,在这里我向Login.asp脚本发送ajax post请求,以防止在提交后转到post URL <script> $(function() { $('#contactForm').submit(function(e){ e.preventDefault(); $.ajax({ url:'/ASPLogin/Login.asp', type:'POST',

我有一个登录弹出表单,在这里我向Login.asp脚本发送ajax post请求,以防止在提交后转到post URL

<script>

$(function() {
    $('#contactForm').submit(function(e){
        e.preventDefault();

        $.ajax({
            url:'/ASPLogin/Login.asp',
            type:'POST',
            data:$('#contactForm').serialize(),
            dataType:'text',
            success: function(response)
            {
            var temp = new Array();
            temp = response.split("|");

            if (temp[0] == 'something') {

              }
              else {

                  $("#response").html(response);
             }
            }
        });

    });
});

</script>
所以,当登录错误时,我会将错误消息放入弹出表单中,若登录正常,那个么我需要关闭弹出表单并重定向

但我在弹出式表单中得到重定向的页面源

我试着那样做

If OK Then
 response.write("<script>$('#closeBut').click();</script>")
 response.redirect("/index.asp?token=" & str)
Else
 response.write("error")
End If
If OK Then
 response.write("<script>$('#closeBut').click();</script>")
 Response.Write("<script>window.location.href = " & "'/index.asp?token=" & str & "';</script>")
Else
 response.write("error")
End If
如果确定,则
回答。写($('#closeBut')。单击()
response.redirect(“/index.asp?token=“&str”)
其他的
响应。写入(“错误”)
如果结束
弹出窗口已关闭,但页面未重定向

我试着那样做

If OK Then
 response.write("<script>$('#closeBut').click();</script>")
 response.redirect("/index.asp?token=" & str)
Else
 response.write("error")
End If
If OK Then
 response.write("<script>$('#closeBut').click();</script>")
 Response.Write("<script>window.location.href = " & "'/index.asp?token=" & str & "';</script>")
Else
 response.write("error")
End If
如果确定,则
回答。写($('#closeBut')。单击()
Response.Write(“window.location.href=“&”/index.asp?token=“&str&”;”)
其他的
响应。写入(“错误”)
如果结束
弹出窗口已关闭,但页面未重定向


如何解决这个问题?如何正常关闭弹出窗口并重定向页面?

当从ajax发出请求时,服务器端重定向不会影响浏览器本身,只有ajax请求对象会在响应中看到重定向的页面源

您需要响应。请编写url,以便进行客户端重定向

例如:

If OK Then
 response.write("/index.asp?token=" & str)
Else
 response.write("error")
End If
然后在ajax成功事件中:

success: function(response)
{

    if (response != 'error') {
        location.href = response;
    }
}

当ajax请求成功时,无法重定向。在
success:{(从此处执行重定向)window.location=url}
下的意思是,问题是只重定向而不关闭弹出窗口。使用window.opener.location.href在opener窗口中重定向,然后使用window.close()关闭弹出窗口