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:
Fonction PHP (ajax):
Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
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 (nouveau url)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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' ]; }
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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' }
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.
Partager