我正在向控制器发送带有GET方法的ajax请求
Route::get('test', ['Middleware' => 'TestFilter', 'uses' => 'HomeController@index']);
中间件:
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以便我可以继续处理?我厌倦了尝试各种方法......
答案 0 :(得分:4)
您的代码不正确。您return
两次 - 但只会处理第一个return
。
一旦你的中间件完成 - 只需传递$ next($ request) - 所以它可以由框架的其余部分处理
public function handle($request, Closure $next)
{
return $next($request);
}
然后在您的控制器中
class HomeController extends Controller {
public function index(Request $request) {
return $request;
}
}