Laravel 5: 无法将数据从中间件传递到控制器
Laravel 5: cannot pass data from Middleware to Controller
我正在使用 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() 方法中,我试图 return $request 但页面抛出错误
'Undefined variable: request' in D:\Apps\apilab\app\Http\Controllers\HomeController.php
我只是在 HomeController
中 returning $request
class HomeController extends Controller {
public function index() {
return $request;
}
}
如何将请求变量传递给 HomeController@index 以便我可以继续处理?各种方法都试过了...
您的代码不正确。您正在 return
ing 两次 - 但只有第一个 return
会被处理。
一旦你的中间件完成 - 只需传递 $next($request) - 这样它就可以由框架的其余部分处理
public function handle($request, Closure $next)
{
return $next($request);
}
然后在你的控制器中
class HomeController extends Controller {
public function index(Request $request) {
return $request;
}
}
我正在使用 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() 方法中,我试图 return $request 但页面抛出错误
'Undefined variable: request' in D:\Apps\apilab\app\Http\Controllers\HomeController.php
我只是在 HomeController
中 returning$request
class HomeController extends Controller {
public function index() {
return $request;
}
}
如何将请求变量传递给 HomeController@index 以便我可以继续处理?各种方法都试过了...
您的代码不正确。您正在 return
ing 两次 - 但只有第一个 return
会被处理。
一旦你的中间件完成 - 只需传递 $next($request) - 这样它就可以由框架的其余部分处理
public function handle($request, Closure $next)
{
return $next($request);
}
然后在你的控制器中
class HomeController extends Controller {
public function index(Request $request) {
return $request;
}
}