Hi there stackoverflow!Laravel在Ajax请求中使用“@layout”
在我laravel观点我使用的是默认的布局通过调用
@layout('layouts.default')
到同一控制器我发送Ajax请求但我不能把“如果”来如果@layout一个Ajax调用。因为如果Ajax请求对控制器产生了影响,它也会产生页眉,页脚和内容(页眉和页脚处于默认布局)。所以为了避免这种情况,我做了一个没有我的视图@layout的副本。
然而,编辑两个文件进行更改太无聊了。我不能一个代码添加到我的观点类似的东西?:
@if(!$ajaxrequest)
@layout('layouts.master')
@endif
我想这是因为我的控制器代码太乱
使用'Request :: ajax()'来确定请求是否是ajax请求。因为布局必须是视图中的第一件事,所以我建议将你的整个layouts.master文件包装在if语句中,比如'@if(!Request :: ajax())... layout ... @endif ' – David 2013-02-08 18:31:44
在你的控制器中你应该使用'Request :: ajax()'然后有一个'view'使用特定的布局。那个'view'可以嵌套另一个'view'。嵌套的'view'可以是一个单独的模板来编辑,然后通过AJAX调用或非AJAX调用来使用。 – Cristian 2013-02-20 13:42:35
这是Laravel 3还是Laravel 4? – rmobis 2013-03-02 03:34:21