gpt4 book ai didi

Laravel 的 Blade : showing template without its layout if it's a ajax request

转载 作者:行者123 更新时间:2023-12-01 09:59:48 26 4
gpt4 key购买 nike

所以我在我的模板中使用 blade(显然不是最新版本,但并不重要)

@layout('master')

@section('mainContent')
my contents here
@endsection

效果很好,但问题是当我通过 ajax 请求调用页面时,我不想显示布局,只显示 mainContent 部分

像这样的东西......也许更干净

@if(!$is_ajaxCall)
@layout('master')
@endif

@if(!$is_ajaxCall)
@section('mainContent')
@endif
my contents here

@if(!$is_ajaxCall)
@endsection
@endif

最佳答案

您确实非常接近。使用 Request::ajax() 来确定这一点。

@if(!Request::ajax())
@layout('master')
@endif

您也可以考虑使用 Blade Extensions 来做到这一点。您需要创建 Blade Extension(例如,从您的 before 过滤器),然后调用它。然后,您可以调用如下所示的电话:

@layoutNoAjax('master')

要了解如何扩展 Blade,请参阅这篇文章:http://blog.zerilliworks.net/blog/2013/04/03/blade-extensions-in-laravel/

更新

我的错误。请看这个答案:https://stackoverflow.com/a/15170353/1626250

此外,您标记了 laravel-4,它使用了 @extends,而不是 @layout

关于Laravel 的 Blade : showing template without its layout if it's a ajax request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17935881/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com