Uso il DeleteView integrato di Django e ho assegnato un valore all'attributo success_url
. Ora nel mio modello, faccio scattare questa vista tramite il metodo $ .post() di JQuery. Quando l'elemento viene eliminato, non viene reindirizzato allo success_url
. Dopo alcune ricerche, ho scoperto che sembra essere un problema del metodo di post AJAX, che ignora il reindirizzamento.Reindirizzamento dopo il post AJAX in Django
L'ho risolto aggiungendo una funzione per impostare lo window.location="#myRedirectionURL"
come terzo parametro di $.post()
in JQuery.
Tuttavia, questo modo sembra non molto Django. Essenzialmente, risolve il problema dall'aspetto di AJAX, invece di Django. Inoltre, lascia inutilizzato lo success_url
in DeleteView (ma è comunque necessario assegnare un valore a success_url
oppure Django genererà un errore).
Quindi è il modo giusto per essere reindirizzato quando si invia tramite AJAX? C'è un modo migliore per farlo?
Grazie mille.
Eseguirò il codice js 'location.href = '# myRedirectionURL' all'interno del modello success_url, con un ritardo' setTimeout' mentre mostra un bel messaggio come' la cancellazione era ok ' – abidibo