Originariamente inviato da emanueledg
Ciao fattobene,
cerco di rispondere a quello che sembra essere il tuo vero quesito, tralasciando come chiedi le correzioni alle soluzioni del sistema che vuoi adottare.
Ajax viene utilizzato per caricare informazioni in modo asincrono, ovvero, senza bisogno di refresh della pagina, come dicevi tu.
Queste informazioni caricate in modo asincrono però di solito vanno a modificare un'area ristretta della pagina in cui verranno utilizzate, di solito solo una parte del box centrale (quasi mai il box intero) per il supporto alla compilazione di form (vedi
google suggest) oppure per l'invio stesso dei dati di un form al fine di visualizzare il responso nella pagina stessa, ma mai tutto il layout della pagina.
E modificare il layout nel tuo caso mi sembra d'obbligo, dal momento che la lingua deve cambiare in tutta la pagina, menu di navigazione compresi. Per questo non vedo altra soluzione che il refresh.
Oltretutto, il reload della pagina per la
language selection è una cosa che accade praticamente in tutti i siti multilingue, quindi non faresti nulla di male e secondo me non hai di che preoccuparti.
Considera anche che ajax è una tecnologia molto interessante nonché utile, ma porta con sé altri rischi oltre a quelli di cui i webmaster già devono preoccuparsi.
Come forse già sai, le chiamate HTTP tra client e server prima di arrivare a destinazione possono essere intercettate; in tal caso con mani esperte capisci bene che c'è pericolo di accessi indesiderati ai propri dati, peggio ancora manomissione.
Con ajax tu non fai altro che aumentare il numero di queste richieste HTTP, lanciandole da uno script piazzato nel bel mezzo di una pagina aperta.
Ergo, gli accorgimenti sulla sicurezza sono indispensabili, compresi quelli della tecnologia server-side che intendi adottare, come hanno suggerito sopra i colleghi più esperti.
Ti consiglio di leggere
questo articolo sull'oggetto xmlhttp di javascript, e di provare questo esempio
http://www.w3schools.com/xml/tryit.a...httprequest_js
per avere un'idea degli utilizzi tipici di ajax.
Ciao