resolução de erro jQuery Ajax
-
06-07-2019 - |
Pergunta
Eu estou trabalhando em um aplicativo de listras que usa um pouco de jQuery para tornar a interface mais dinâmica / utilizável.
Eu configurar uma resolução de erro, por isso, se um erro é lançado, o usuário é redirecionado para uma página error.jsp.
No entanto, se um erro é lançado durante uma chamada jQuery Ajax, em vez de redirecionar para a página de error.jsp, I get html impresso para a página onde o resultado da chamada deveria ter sido em seu lugar.
Como posso dizer jQuery para redirecionar se uma exceção foi lançada em vez de imprimir a página?
Um exemplo do Ajax ofender:
$.post("SendStatusEmail.action",
{status: newstatus, id : id },
function(data) {
column.text(data);
column.addClass("redfont");
column.parent().fadeOut(3000, function(){column.parent().remove()});
Solução
$(document).ajaxError(function(event, XMLHttpRequest, ajaxOptions, thrownError) {
// redirect here.
}
Devo acrescentar que eu não redirecionar quando há uma exceção em uma chamada Ajax. Em vez disso, eu tenho o servidor retornar uma descrição de erro no formato JSON e exibição que na página.
Outras dicas
Que tal usar $ .ajax () em vez de US $ .post ()? O $ .ajax mais geral () oferece um retorno de chamada de erro que você pode chamar em caso de um erro.