检查是否通过Laravel中的Ajax调用页面

时间:2016-05-11 18:16:30

标签: ajax laravel

这是我几天前发布的帖子的扩展名:Change a page without refreshing - Laravel / Ajax

基本上,我正在尝试复制Soundcloud的URL结构,您可以在其中单击链接,它将加载内容而不刷新页面,但是如果您直接登陆该页面,它将不会复制设计和有效地休息。

我一直在考虑如何在Laravel中检查页面是通过Ajax请求还是在没有Ajax调用的情况下登陆。

目前正在发生的事情是,当我调用页面时,视图有一个扩展的主模板,从而在一个视图上创建重复的主模板。

我在想我是否做了类似

的事情
@if(!Request::ajax())
@extends('masterlayout')
@endif

它会工作,但尝试过,没有运气。

非常感谢任何帮助!

由于

3 个答案:

答案 0 :(得分:1)

您可以在控制器操作中检查它。

public function index(Request $request)
{
    if($request->ajax()){
        return "This is an AJAX call!";
    }
    return "Not an AJAX call...";
}

答案 1 :(得分:1)

即使在假法{{(average_price | currency) || 'Not Given'}}

中,总是会执行@extends指令

您可以添加空布局并执行以下检查:

if

,您只需在布局@extends(Request::ajax()? 'layouts.empty' : 'layouts.master') 中添加此内容:

empty.blade.php

或者您可以在主布局中添加ajax检查

@yield('content')

答案 2 :(得分:0)

感谢您的所有答案,我最终通过使用@if(!Request::ajax())来解决此问题,该部分在通过ajax加载页面时无需显示。

再次感谢你! :d