i'm having two ajax posts called at different times and posting to two different urls , the first one works when i print echo session('first');
but the second one prints empty . I did var_dump('Session::all'); and realized that the session does not even get the second variable posted . What's weird is the two ajax complete normally as i print the variables on console upon completion of the post. what can be the issue here ? Code below :
Blade
First select
 <!---Language Section -->
        <select class="user-profile clearfix" name="locale" id="languageswitcher">
                    <option></option>
                    <option value="en">English</option>
                    <option value="zh">中文</option>
                    </select>
    <!--Language Section End -->
Seconde Blade
<div class="form-group">
                  {!!Form::label('Group',trans('app.select_group'))!!}
                  {!! Form::select('group',$groups, null,['class'=>'form-control','id'=>'Group']) !!} 
</div>
Routes
First Route
Route::post('/language-chooser','languageController@ChangeLanguage');
Route::post('/language/',array(
   'before'=>'csrf',
   'as'=>'language-chooser',
   'uses'=>'languageController@ChangeLanguage',
));
Second Route
 Route::post('/groupChooser','setGroupController@index');
 Route::post('/setgroup',array(
    'before'=>'csrf',
    'as'=>'groupChooser',
    'uses'=>'setGroupController@index',
 ));
Middlewares
First Middleware
public function handle($request, Closure $next)
{
     if(Session::has('locale')){
        $locale=session('locale');
    }
    else{
        $locale='en';
    }
    if(Session('group'))
    {
        return view('home');
    }
    App::setLocale($locale);
    return $next($request);
}
Second Middleware
public function handle($request, Closure $next)
{
    if(Session::has('old'))
    {
        echo session('group');
    }
    return $next($request);
}
script
$(document).ready(function(){
$("#languageswitcher").change(function(){
   var locale=$(this).val();
   //alert(111);
   //console.log(111);
  var _token =$("input[name=_token]").val();
   $.ajax({
      url:"/language",
       type:"POST",
       data:{locale:locale,_token:_token},
       dataType:'json',
       success:function(data){
         console.log(data);  
       },
       error: function(ts) {
           //alert(ts.responseText);
       },
       beforeSend:function(){
           console.log(locale);
       },
       complete:function(data){
           window.location.reload(true);
       }
   });
 }) ;
$("#Group").change(function(){
   sessionStorage.clear();
   var group=$(this).val();
   //alert(111);
   //console.log(111);
  var _token =$("input[name=_token]").val();
   $.ajax({
      url:"/setgroup",
       type:"POST",
       data:{group:group,_token:_token},
       dataType:'json',
       success:function(data){
       },
       error: function(ts) {
           //alert(ts.responseText);
      },
       beforeSend:function(){
           console.log(group);
       },
       complete:function(){
          window.location.reload(true);
       }
     });
    }) ;
 });
via Chebli Mohamed
 
Aucun commentaire:
Enregistrer un commentaire