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

Render part of a view in middleware?

我正在尝试使用一些后中间件,这样如果请求是 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()

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

$response = $next($request);

现在你可以试试这个:

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