2

コントローラーに 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

私は単に$requestHomeControllerに戻っています

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

処理を続行できるように、リクエスト変数を HomeController@index に渡すにはどうすればよいですか?? いろいろな方法を試して疲れました...

4

1 に答える 1

4

コードが正しくありません。2 回 ing していますが、処理されるreturnのは最初の 1 回だけreturnです。

ミドルウェアが完成したら、$next($request) を渡すだけで、フレームワークの残りの部分で処理できるようになります。

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

次に、コントローラーで

class HomeController extends Controller {
  public function index(Request $request) {
    return $request;
  }
}
于 2015-02-17T13:02:47.903 に答える