我想重用我的模板,并且只想返回一个呈现的部分作为属于“内容”部分(index.blade.php)的ajax响应(html表)。
@section('content')
html...
@endsection
我创建了另一个名为 ajax (ajax.blade.php) 的布局,其中仅包含:
@yield('content')
我的控制器:
class Some_Controller extends Base_Controller {
public $restful = true;
public $layout = 'layouts.main';
public function get_index (){
if ( Request::ajax() )
$this->layout = 'layouts.ajax';
$view = View::make('some.index')->with('data', 'shtg');
$this->layout->content = $view;
}
}
当我通过正常的 GET 请求请求路由时,它可以工作......但是当我通过 ajax 请求它时,我得到一个错误:
Attempt to assign property of non-object
在包含的行上
$this->layout->content = $view;
我也试过
return Section::yield('content');
返回空文档。
有没有办法返回渲染部分?我搜索了论坛,除了:
http://forums.laravel.io/viewtopic.php?id=2942
它使用相同的原理并且对我不起作用(我已经尝试了上面链接中提到的所有变体)。
谢谢!