2016-08-15 18 views
1

platzieren Ich habe diesen Controller:Wo soll ich die Strecke

public function watchlist(Request $request) 
    { 
     if($request->ajax()) 
     { 
      $id=$request->id; 
      if($id) 
      { 
       $add=new Watchlist(); 
       $add->product_id=$id; 

       if(!Auth::check()) 
       {    
        echo json_encode(FALSE);die;       
       } 

       $add->user_id=Auth::user()->id;  
       $add->save();   
       echo json_encode(TRUE);die; 
      } 

      echo json_encode(FALSE);die; 
     } 
    } 

und die Route ist:

Route::post('/product/watchlist', '[email protected]'); 

wo soll ich diesen Weg legen? Wenn ich diese Route unter Auth und Web-Middleware-Gruppe platziert habe ich

Token Mismatch Ausnahme.

Route::group(['middleware' => ['web']], function() { 
    Route::get('/product/addform', '[email protected]');  
    Route::post('/product/add', '[email protected]'); 

    Route::group(['middleware' => ['auth']], function() { 
     Route::get('/','[email protected]'); 
     Route::get('/product','[email protected]');    
     Route::post('/product/watchlist', '[email protected]'); //here 
    }); 
}); 

wenn ich es außerhalb von Middleware-Gruppe Web und Auth setzen

i couldnot id des Benutzers erhalten ich brauche.

Und wenn ich es unter dem neuen Auth-Middleware-Gruppe außerhalb Web-Middleware-Gruppe

Route::group(['middleware' => ['auth']], function() { 
       Route::post('/product/watchlist', '[email protected]'); 
    )};  

Ich habe

Unerlaubte

Antwort

1

Wie Sie machen Gebrauch von Benutzersitzung in Ihrem Controller, sicher Ihre Route Shoul d unter Web Middleware gestellt werden, so dass Benutzersitzung korrekt behandelt wird.

Damit es jedoch funktioniert, müssen Sie sicherstellen, dass Sie das XSRF-Token zusammen mit Ihrer AJAX-Anforderung übergeben. Sie finden das Token in XSRF-TOKEN Cookie, das Laravel erstellt. Sie müssen es in X-XSRF-TOKEN Header Ihrer Anfrage übergeben.

In Bezug auf auth Middleware, sollten Sie das zur Anfrage nur für Anfragen hinzufügen, die Benutzer authentifizieren müssen.

+0

Übergabe des XSRF-Tokens zusammen mit Ihrer AJAX-Anfrage. Gibt es einen Link, der das erklärt? – micky

+0

Es hängt davon ab, was Sie verwenden, um Anfragen an das Backend senden –

+0

welche Version von Laravel verwenden Sie? ..... siehe composer.json und sagen –