Ciao a tutti, ho una chiamata ajax per la quale ho bisogno di attivare una procedura
che in caso di errore riprovi ad avviare la procedura
Avevo trovato una soluzione che all'apparenza riavvia la chiamata ma non riesco a capire come mai
non la completa (non effettua le operazioni inserite nel "done")
Ecco qui la procedura:
codice:
$.blockUI({ message: 'Attendere' });
$.ajax({url: "getData.php"
,data: {variabile1: var1}
,type: 'POST'
,tryCount : 0
,retryLimit : 5
,timeout: 35000
,error: function(xhr, textStatus, errorThrown) {
this.tryCount++;
if (this.tryCount <= this.retryLimit) {
//try again
$.ajax(this);
return;
}
alert('C\'è stato un problema, riprova dopo');
return;
}
}).done(function(data) {
alert(data);
$.unblockUI();
});
In pratica ho impostato che effettui almeno tre tentativi prima di terminare ma se provo a forzare il timeout sul primo tentativo effettua effettivamente la chiamata una seconda volta e con successo perchè nell'inspector vedo la risposta ma non viene elaborata e non viene neanche disattivato il layer "Attendere".
Sbaglio qualcosa?