Sto utilizzando le ultime sessioni lato client Flask/Werkzeug (Flask 0.9) per mantenere le informazioni tra le richieste. La sessione non è impostata per essere persistente (come sto bene con il cookie che viene eliminato quando il browser è chiuso).La sessione Flask dimentica l'immissione tra le richieste
Il mio problema è il seguente:
Faccio uso di alcune codice lato server per riempire la variabile di sessione Flask con una voce. Dopo questo, la variabile di sessione simile a questa:
<SecureCookieSession {u'items': SOMENOTVERYIMPORTANTDICTIONARY}, '_fresh': True, 'user_id': u'1', 'csrf': '0aef1995cdf2cxx0233fdf3321d17fc7267f3b32', '_id': 'someUNIQUEcode'}*>
ho utilizzare queste informazioni per il rendering di una pagina che esegue una richiesta GET (tramite JQuery) per la stessa applicazione Flask, ma improvvisamente il dizionario contenente le 'voci' ingresso nella sessione è andata:
<SecureCookieSession {'_fresh': True, 'user_id': u'1', 'csrf': '0aef1995cdf2cxx0233fdf3321d17fc7267f3b32', '_id': 'someUNIQUEcode'}>
ho fatto qualche ricerca in giro, e ho pensato che potrebbe essere legato al fatto che sto testando su localhost (127.0.0.1 non è lo stesso di localhost). Ho corretto il mio file hosts e aggiunto una voce "dev.localhost" per assicurarmi che tutte le richieste provenissero dallo stesso host.
Inoltre, il riquadro di sviluppo del browser (Chrome) mostra esattamente gli stessi identificativi per i cookie di sessione inviati al server.
Inoltre, l'impostazione session.modified = True
non è di aiuto.
L'unica cosa che cambia tra le richieste è
__utmb=122666782.18.10.1363877633
per la prima richiesta (quella che popola l'entrata items
) contro la seconda richiesta
__utmb=122666782.19.10.1363877633
Pensando che può essere ancora una cosa correlata ad Ajax. Ho testato il contenuto della variabile di sessione dopo una semplice pagina di ricarica: la voce items
è ancora passata dalla sessione.
Qualsiasi aiuto sarebbe molto apprezzato.
Può essere questo può aiutare http://stackoverflow.com/questions/13760008/why-do-some-flask-session-values-disappear-from-the-session-after-close-the-br – codegeek
è solo la voce 'items' rimossa o è qualcosa che hai impostato sulla sessione? –
@codegeek Ho dato un'occhiata a quella voce prima di postare la mia domanda, e ho ipotizzato che potrebbe trattarsi di un problema di cookie tra host. Ho impostato il mio hostname su 'localhost.dev' per evitare confusione tra' localhost' e '127.0.0.1'. Inoltre, ho provato a impostare esplicitamente il dominio cookie e server nella configurazione di Flask, ma non è stato di alcun aiuto. – RJH