Visualizzazione dei risultati da 1 a 1 su 1
  1. #1

    JQuery Ajax riprova invio se errore

    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?
    Ultima modifica di sally3000; 28-03-2017 a 23:23

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.