Laravel 5 Laravel 5:无法将数据从中间件传递到控制器

Laravel 5 Laravel 5:无法将数据从中间件传递到控制器,laravel-5,laravel-middleware,Laravel 5,Laravel Middleware,我正在向控制器发送一个带有GET方法的ajax请求 Route::get('test', ['Middleware' => 'TestFilter', 'uses' => 'HomeController@index']); class HomeController extends Controller { public function index(Request $request) { return $request; } } 中间件: public funct

我正在向控制器发送一个带有GET方法的ajax请求

Route::get('test', ['Middleware' => 'TestFilter', 'uses' => 'HomeController@index']);
class HomeController extends Controller {
  public function index(Request $request) {
    return $request;
  }
}
中间件:

public function handle($request, Closure $next)
{
    return $next($request); //This does not seem to pass $request to HomeController
}
在HomeController的index()方法中,我试图返回$request,但页面抛出错误

'Undefined variable: request' in D:\Apps\apilab\app\Http\Controllers\HomeController.php
我只是在HomeController中返回
$request

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

如何将请求变量传递给HomeController@index这样我就可以继续处理??我已经尝试了各种方法…您的代码不正确。您将返回两次,但只有第一次返回才会被处理

一旦中间件完成,只需传递$next($request),就可以由框架的其余部分处理

public function handle($request, Closure $next)
{
    return $next($request);
}
然后在你的控制器里

Route::get('test', ['Middleware' => 'TestFilter', 'uses' => 'HomeController@index']);
class HomeController extends Controller {
  public function index(Request $request) {
    return $request;
  }
}

太好了,我现在编辑了这篇文章。还是一样的错误!我已经更新了我的答案-您需要将请求注入控制器