Supponiamo che io sono una chiamata un po 'a lungo in esecuzione jQuery Ajax (diciamo 5 secondi) come segue:Come sapere se JQuery errore significa chiamata è stata interrotta
$.ajax({
url: '/LongCall',
type: 'POST',
async: true,
cache: false,
datatype: 'json',
success: function(data) {
alert('Success!');
},
error(xhr, textStatus, errorThrown) {
alert('Error!');
}
});
Ora supponiamo durante l'attesa per i miei cinque secondo processo per l'esecuzione l'utente diventa impaziente e decide di raggiungere una sorta di navigazione sulla mia pagina. Quello che succede nella chiamata sopra è che l'utente riceve l'avviso di errore quando fa clic su un collegamento.
Voglio che venga visualizzato l'avviso di errore se c'è davvero un errore, ma se tutto ciò che è successo è che l'utente ha deciso di allontanarsi, non voglio che venga visualizzato l'avviso di errore. Come posso fare questo?
In altre parole, c'è qualche valore che posso controllare (xhr.status forse?) Che mi dirà che l'errore che si è verificato è semplicemente che il processo è stato interrotto, quindi posso sapere di ignorare l'errore?
Grazie!
Controllare il secondo e il terzo argomento della richiamata di errore. –
Il secondo argomento è "errore". Il terzo argomento è "". Né è utile in questo caso da quello che posso dire. –
In tal caso, esaminare le proprietà del primo argomento. –