在中间件中渲染视图的一部分?
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']
我正在尝试使用一些后中间件,这样如果请求是 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']