2016-05-06 9 views
0

Wenn ich versuche, Routenliste in der Kommandozeile zu bekommen mit php artisan route:list ich diese Fehlermeldung erhalten: [Symfony \ Component \ HttpKernel \ Exception \ Httpexception]Laravel 5.1 Route: Liste bricht auf Controller AJAX Check

Scheint wie meine AjaxController der Konstruktor gibt für jede Ajax-Route eine Ausnahme aus. Wie es in diesen Zustand eintritt !$request->ajax() und bricht diesen CLI-Arbeiter.

AjaxController Konstruktor

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

Strecke

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

Irgendwelche Gedanken wie könnte ich Routenliste erhalten, ohne diese Bedingung zu entfernen?

+0

In welcher Datei haben Sie diesen Code? Versuchen Sie, die Route zu diesem Controller zu entfernen, funktioniert alles als? –

+0

gerade bearbeitet, in AjaxController –

+0

wenn die Route entfernt wird, funktioniert es –

Antwort

1

Das ist normal, weil Ihr Kommandozeilenaufruf kein Ajax ist.
In diesem Fall tritt es in die Bedingung ein und veranlasst den Abbruch (403), der die [Symfony\Component\HttpKernel\Exception\HttpException] aufruft.

Vielleicht, wenn Sie die Routenliste wollen diese Bedingung ohne Entfernen Sie die Funktion in App\Exceptions\Handler mit etwas machen außer Kraft setzen könnte gefällt das:

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 Siehe

+0

Ich möchte keine JSON-Antwort in jedem 403 HTTP Ausnahme –

+0

Ich habe den Code bearbeitet. Sie können Ihre benutzerdefinierten Fehlerseiten erstellen. In diesem Fall müssen Sie die Ansicht resources/views/errors/403.blade.php erstellen. –

+0

Dies löst das anfängliche Problem nicht –

Verwandte Themen