2016-05-06 79 views
0

當我試圖讓路由表中的命令行與php artisan route:list我得到這個錯誤: [Symfony的\分量\ HttpKernel \異常\ HttpException]Laravel 5.1路線:在控制器AJAX檢查清單休息

好像我AjaxController的構造函數爲每個ajax路由拋出一個異常。就像它進入這個條件!$request->ajax()並打破這個CLI工作者。

AjaxController的構造

public function __construct(Request $request) 
{ 
    if (!$request->ajax()) 
    { 
     abort(403); 
    } 
} 

路線

Route::controller('ajax', 'AjaxController'); 

任何想法如何,我能得到路由表,不刪除此條件?

+0

在該文件中,你有這樣的代碼?嘗試刪除路由到這個控制器,一切工作比? –

+0

剛剛編輯,在AjaxController –

+0

當路由被刪除它的作品 –

回答

1

這很正常,因爲你的命令行調用不是ajax。
在這種情況下,它進入條件並使中止(403)調用[Symfony\Component\HttpKernel\Exception\HttpException]

也許,如果你想不刪除此情況,你可以重寫App\Exceptions\Handler的東西渲染功能的路由列表喜歡這樣的:

public function render($request, Exception $e) 
    { 
     if (view()->exists('errors.'.$e->getStatusCode())) 
     { 
      return response()->view('errors.'.$e->getStatusCode(), [], $e->getStatusCode()); 
     } 
     else 
     { 
      return parent::render($request, $e); 
     } 
    } 

https://mattstauffer.co/blog/laravel-5.0-custom-error-pages

+0

我不希望每403個HTTP中有JSON響應例外 –

+0

我編輯了代碼。您可以創建自定義錯誤頁面。在這種情況下,您將不得不創建視圖resources/views/errors/403.blade.php。 –

+0

這不是解決最初的問題 –