Domanda

Sto lavorando a un'app per le strisce che utilizza un po 'di jQuery per rendere l'interfaccia utente più dinamica / utilizzabile.

Ho impostato una risoluzione degli errori, quindi se viene generato un errore, l'utente viene reindirizzato a una pagina error.jsp.

Tuttavia, se viene generato un errore durante una chiamata jQuery Ajax, invece di reindirizzare alla pagina error.jsp, ottengo l'html stampato sulla pagina in cui avrebbe dovuto essere invece il risultato della chiamata.

Come posso dire a jQuery di reindirizzare se è stata generata un'eccezione invece di stampare sulla pagina?

Un esempio dell'Ajax offensivo:

$.post("SendStatusEmail.action",
            {status: newstatus, id : id },
            function(data) {
                column.text(data);
                column.addClass("redfont");
                column.parent().fadeOut(3000, function(){column.parent().remove()});
È stato utile?

Soluzione

$(document).ajaxError(function(event, XMLHttpRequest, ajaxOptions, thrownError) {
    // redirect here.
}

Dovrei aggiungere che non reindirizzo quando c'è un'eccezione in una chiamata Ajax. Invece, ho il server restituire una descrizione dell'errore in formato JSON e visualizzarlo nella pagina.

Altri suggerimenti

Che ne dici di usare $ .ajax () invece di $ .post ()? Il più generale $ .ajax () offre un callback di errore che è possibile chiamare in caso di errore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top