在中间件中渲染视图的一部分?

时间:2015-08-12 16:36:08

标签: laravel laravel-5 laravel-5.1

我正在尝试使用一些中间件,以便如果请求是ajax,则只渲染部分视图。我有问题。

我的控制器中的方法:

$data = $this->repository->getUser($id);
$view = View::make('site.user')->withData($data);

return $view;

我的中间件:

$response = $next($request);
if(Request::ajax()){
    $response->renderSections()['content'];
}

return $response;

我收到错误:

Call to undefined method Illuminate\Http\Response::renderSections()

1 个答案:

答案 0 :(得分:2)

要获得响应,您需要使用after Middleware,而这正是您现在正在做的,您的响应如下:

$response = $next($request);

现在你可以试试这个:

$content = $response->getOriginalContent()->renderSections()['content']