Attualmente sto affrontando un piccolo problema con i moduli di posta HTTP e la cronologia pushstate.history.pushstate e HTTP POST repost modulo
Quando il mio utente invia un modulo POST in example.com/page-1
e poi fa clic su un collegamento all'interno di questa pagina, vengono reindirizzati a example.com/page-2
con un record.pushstate. Lo script JS cambia solo l'url corrente, spinge il vecchio nella cronologia e quindi visualizza il nuovo contenuto. Questo funziona perfettamente bene per me.
Il problema: una volta che l'utente è in example.com/page-2
e aggiorna manualmente la pagina (Ctrl + R o aggiornare il pulsante), Chromes richiede all'utente di inviare nuovamente il form; ma il modulo era in realtà in example.com/page-1
e non c'è motivo di richiederlo in questa "nuova" pagina.
C'è un modo per cancellare tutti i dati precedentemente inviati in javascript sulla modifica del popstate per impedire il prompt di repost dal browser? O mi sto perdendo qualcosa con i miei stati storici? O è qualcosa che al momento non è ancora implementato dal browser?
L'ho provato solo con il chrome poiché non implementavo lo pushstate con altri browser.
Ciao, ho avuto lo stesso problema con replaceState, ma ora invio i miei moduli tramite Ajax che risolve il problema. Immagino che usare javascript history.pushstate e replacestate senza inviare moduli via ajax non sia una buona cosa da fare dato che è piuttosto facile farlo con jquery, mootools, ecc. – pafounet