Safari e problemi di aggiornamento form con AJAX

Chi ha a che fare spesso con AJAX sa bene che i problemi sono sempre dietro l’angolo.

In particolar modo quando ci si mette anche Safari a fare “le bizze” in maniera quasi inspiegabile.

Il problema: in un form che si aggiorna con procedure AJAX, con Safari non si aggiornano i contenuti mentre con gli altri browser (Internet Explorer 7/8, Firefox, Chrome) non c’é alcun problema.

La soluzione!
A quanto pare Safari, a differenza dei suoi colleghi, gestisce alcune routine Javascript tutte nello stesso momento, anche se dovrebbero essere sequenziali, per questo motivo, se c’é una funzione di aggiornamento (reload) della pagina principale (a seguito di una chiamata AJAX per il lancio di una routine che vada ad aggiornare il database con i dati del form), l’aggiornamento del db non avviene, proprio perché la pagina resetta i dati prima ancora che la funzione AJAX sia in grado di essere eseguita, spedendo quindi un valore nullo alla procedura di aggiornamento del database.

Basta fare in modo che la procedura di azzeramento/aggiornamento della pagina e del form sia seguente alla chiamata AJAX (ma richiamata dallo stesso file che viene richiamato da AJAX e non a seguito della chiamata AJAX dalla pagina principale).

Domande? Dubbi? Contattatemi!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *