Les requêtes AJAX ne modifient pas les variables de session
Bonjour,
Le scénario est que je lance une requête ajax. Dans la fonction appelée, je définis des variables de session, puis renvoie la valeur vraie à ajax pour me rediriger vers une autre page où je veux afficher les valeurs de session,
Requête ajax:
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| $.ajax({
method: 'POST',
url: '/setvariable',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: { _token : $('input[name=_token]').val() },
dataType: "json"
})
.done(function(data) {
window.location.replace('urlnewpage');
} |
Fonction PHP (ajax):
Code:
1 2 3 4 5 6 7
| public function setvariable(Request $request){
$request->session()->put('keyak', 'value');
return [
'response' => true
'mavar' =>$request->session()->get('keyak', 'default') //c'est bien 'value'
];
} |
Fonction PHP (nouveau url)
Code:
1 2 3
| public function mynewurl(Request $request){
dd( $request->session()->get('keyak', 'default') ); // il affiche toujours 'default' alors que je cherche qu'il m'affiche 'value'
} |
Le problème est que ma nouvelle variable de session n'a pas été sauvegardée, et si j'essaie de l'afficher dans la fonction ajax avant de l'envoyer à ajax, j'obtiens des valeurs de session.
j'ai essayé aussi de le faire fonctionner avec session(['keyak' => 'value']); et session('keyak', 'default') sans succès
Merci en avance pour vos aides.