【发布时间】:2016-12-21 16:26:00
【问题描述】:
我有这个控制器:
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;
}
}
路线是:
Route::post('/product/watchlist', 'ProductController@watchlist');
我应该把这条路线放在哪里? 如果我将此路由放在身份验证和网络中间件组下,我得到了
令牌不匹配异常。
Route::group(['middleware' => ['web']], function () {
Route::get('/product/addform', 'ProductController@addform');
Route::post('/product/add', 'ProductController@add');
Route::group(['middleware' => ['auth']], function () {
Route::get('/','ProductController@index');
Route::get('/product','ProductController@index');
Route::post('/product/watchlist', 'ProductController@watchlist'); //here
});
});
如果我把它放在 web 和 auth 中间件组之外
我无法获得所需用户的 ID。
如果我把它放在 web 中间件组之外的新 auth 中间件组下
Route::group(['middleware' => ['auth']], function () {
Route::post('/product/watchlist', 'ProductController@watchlist');
)};
我明白了
未经授权
【问题讨论】:
标签: php laravel laravel-5 laravel-5.2