$.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类型的重定向?如果“位置”存在,重定向并且不执行脚本的其余部分?
答案 0 :(得分:0)
AJAX是后台中的请求,这意味着您无法通过HTTP从那里重定向“前景”(浏览器UI)。
使用get_entitset
从成功处理程序中重定向。 (让您的服务器向其发送一个可以作出决定的值。)