我想做这样的事情:
return Response::view('survey.do')
//->with('theme',$survey->theme);
->header('Cache-Control', 'no-cache, must-revalidate')
->header('Expires', 'Mon, 26 Jul 1997 05:00:00 GMT');
它说在视图中找不到主题定义,问题出在我做的时候:
View::make('survey.do')->with('theme',$survey->theme)
它确实有效但我无法访问http response
标题,我该如何实现?
答案 0 :(得分:2)
而不是像这样使用with
和header
传递数组:
$data = array('theme' => $survey->theme);
$headres = array(
'Cache-Control' => 'no-cache, must-revalidate',
'Expires' => 'Mon, 26 Jul 1997 05:00:00 GMT'
);
return Response::view('survey.do', $data, '200', $headres);
这将有效,因为这是Response
类(Facade)中的方法签名/标题:
public static function view($view, $data = array(), $status = 200, array $headers = array())
在这种情况下,它调用该类的make
方法,如下所示:
public static function make($content = '', $status = 200, array $headers = array())
{
return new IlluminateResponse($content, $status, $headers);
}
答案 1 :(得分:1)
你的方式很好。放置视图&首先在变量中添加标题:
$view = View::make('survey.do')
->with('theme', $survey->theme);
$response = Response::make($view, $status);
$response->header('Cache-Control', 'no-cache, must-revalidate')
->header('Expires', 'Mon, 26 Jul 1997 05:00:00 GMT');
return $response;