C'è un modo per gestire l'errore da una richiesta Ajax all'interno di JQuery in modo tale che quando l'utente si allontana dalla pagina, l'errore risultante viene ignorato?Come gestire jQuery ajax errore di post durante la navigazione fuori da una pagina
$(document).ready(function() {
$.ajax({
url:'/server/url/',
type: 'POST',
data: {some..data},
success:function(response) { do stuff with response },
error: function(xhr, textStatus, errorThrown) {
// Don't raise this alert if user has navigated away from the page
alert('error');
}
});
Sono curioso se qualcuno sa di un modo pulito per gestire questo? So che potresti creare un po 'di logica in un metodo $(window).bind("beforeunload", function(){})
ma preferirei se ci fosse un modo per gestire la situazione senza fare ciò poiché Chrome non sembra più supportarlo. C'è per esempio un errore specifico che viene restituito in questo caso?
Grazie.
Dal momento che la chiamata è al server, non penso che sarebbe abbastanza conoscenza per restituire una risposta in modo diverso a seconda che l'utente abbia navigato fuori da quella pagina oppure no. C'è un posto dove puoi fornire un esempio di questo comportamento? Sembra strano che uno script di un'altra pagina continui a essere eseguito dopo che hai navigato fuori da quella pagina. –
I * think * lo script smette di funzionare e viene generato un errore poiché viene interrotto prematuramente. –
Una volta che si allontana, la chiamata AJAX entra nel bit-bucket. Non c'è più un listener sul client per ricevere alcun messaggio da quella richiesta. –