302状态的自动重定向

时间:2015-08-20 06:03:54

标签: javascript jquery python-2.7 redirect

$.ajax({
            type: "POST",
            url: "/someurl",
            data: $("#send_application_number").serialize(), 
            success: function(response, textStatus, request) {
                #responseType = request.getResponseHeader('Location')
                $("#captchapopup").foundation("reveal","open")
                $("#viewstate").val(response['viewstate'])
                $("#eventvalidate").val(response['eventvalidate'])
                $("#appl_num").val(response['appl_num'])
                #loc = getcaptchaimage(response['viewstate'], response['eventvalidate'])
                loc = '/anotherurl?viewstate=' + response['viewstate'] + '&eventvalidate=' + response['eventvalidate']
                $("#captchaimage").attr('src', loc)
            },
            error: function() {
                alert("Could not get response to session login request");
            }
        });

正如您所看到的,这是一个用于运行模式弹出窗口以显示验证码的脚本。但是,我也可以重定向到另一个网址,而不是显示模式,这就是为什么我从后端发送302重定向(当然是一个网址),假设它会自动重定向。它确实如此,但是脚本的其余部分也都被执行了,这使它回到了模态。

如何实现if-else类型的重定向?如果“位置”存在,重定向并且不执行脚本的其余部分?

1 个答案:

答案 0 :(得分:0)

AJAX是后台中的请求,这意味着您无法通过HTTP从那里重定向“前景”(浏览器UI)。

使用get_entitset从成功处理程序中重定向。 (让您的服务器向其发送一个可以作出决定的值。)