2015-09-28 9 views
5

Sto usando Laravel 5 (la versione "laravel/framework" è "v5.1.16", Homestead Ubuntu), con session driver = 'file'.Laravel 5 Asyncronus Le richieste AJAX causano problemi di sessione

Ho notato che se vengono emesse un numero di richieste AJAX asincrone (jQuery) es. nel campo del modulo di ricerca del completamento automatico, le variabili di sessione sono scomparse.

Questo succede, solo con richieste AJAX asincrone, quando l'opzione asincrona è impostata su false questo problema non esiste più.

Inoltre, quando il driver della sessione è impostato su 'cookie' e set async true c'è un nuovo cookie creati su ogni richiesta AJAX, quindi con 10 richieste ci saranno 10 laravel biscotti ecc

Qualche suggerimento? Non sono riuscito a trovare alcuna causa o soluzione decente a questo, tranne che non utilizzando richieste asincrone.

Problemi correlati, che sembra essere risolto.

https://github.com/laravel/framework/issues/7549

https://github.com/laravel/framework/issues/5416

+0

Ho gli stessi identici problemi. Ho il controllo degli script per i nuovi messaggi ogni pochi secondi. Dopo un determinato numero di richieste, l'ID di sessione cambia e tutte le variabili di sessione vengono perse. Non ho idea del perché e non riesco a trovare nessuna risposta valida. Sei riuscito a risolverlo? – Gelu

+0

Purtroppo no, ho usato i cookie invece della sessione per conservare alcuni dati semplici. – dth

+1

Questo è un problema noto - senza soluzione: https://github.com/laravel/framework/issues/8172 - il problema è che nessuno è in grado di fornire una situazione replicabile - sembra essere casuale, raro e non ovvio causa. – Laurence

risposta

1

Per il gusto di avere una risposta a questa domanda e come "The Exchange Shift" già spiegato nel suo commento ...

Questo è un problema noto - senza soluzione: github.com/laravel/framework/issues/8172 - il problema è che nessuno è in grado di fornire una situazione replicabile - sembra essere una causa casuale, rara e non ovvia.

0

Recentemente ho riscontrato questo problema e il problema potrebbe essere stato un doppio vincolo del middleware web su una route. Dovresti controllare quello Non sono riuscito a notare che il web era già applicato in RouteServiceProvider. Dopo aver rimosso 'middleware' => 'web' sulle mie rotte problema, questo problema è andato via completamente.