Como evitar que o jQuery ajax siga um redirecionamento após uma postagem?
Eu tenho um link que despacha um POST Ajax para executar uma ação. Se o usuário ainda não estiver conectado, o método de ação retornará um redirecionamento 302 para a página de login. Se isso acontecer, eu quero pegar o redirecionamento, para que eu possa exibir o formulário de login em uma mesa de luz.
No entanto, parece que o jQuery segue o redirecionamento sem retornar o controle ou chamar uma função de retorno de chamada. No código abaixo, o alerta do redirecionamento 302 nunca é chamado e, quando a função dataFiler é chamada, os dados são o conteúdo da página de login.
Como posso ver que a página enviou um redirecionamento 302 e ramificar para uma ação diferente?
$.ajax(url,
{
data: postArguments,
type : "POST",
success: function (data) { alert(' success function'); },
statusCode:
{
302: function () { alert(' received redirect 302'); },
301: function () { alert(' received redirect 301'); }
},
dataFilter: function (data, type) { alert('got data ' + data); return data; }
});