2015-02-17 2 views
2

Я отправки запроса Ajax с методом GET к контроллеруLaravel 5: не может передавать данные из промежуточного контролеру

Route::get('test', ['Middleware' => 'TestFilter', 'uses' => '[email protected]']); 

Промежуточное программное обеспечение:

public function handle($request, Closure $next) 
{ 
    return $next($request); //This does not seem to pass $request to HomeController 
} 

В методе индекс() из HomeController Я пытаюсь вернуть $ запроса, но страница бросает ошибку

'Undefined variable: request' in D:\Apps\apilab\app\Http\Controllers\HomeController.php 

Я просто возвращающийся $request в HomeController

class HomeController extends Controller { 
    public function index() { 
    return $request; 
    } 
} 

Как передать переменную запроса на HomeController @ индекс, так что я могу продолжить обработку ?? Я устал от попыток различных методов ...

ответ

4

Ваш код неверен. Вы всего лишь return ing, но только первые return будут обрабатываться.

После того, как ваш промежуточного завершения - просто передать $ рядом ($ запроса) вместе - так что он может быть обработан на оставшуюся часть рамки

public function handle($request, Closure $next) 
{ 
    return $next($request); 
} 

Затем в контроллере

class HomeController extends Controller { 
    public function index(Request $request) { 
    return $request; 
    } 
} 
+0

Великого , Теперь я редактировал сообщение. Еще одна ошибка! –

+1

Я обновил свой ответ - вам нужно ввести запрос в контроллер – Laurence

+0

Получил это для работы :) –