Php Laravel在视图渲染后调用函数

Php Laravel在视图渲染后调用函数,php,laravel,view,Php,Laravel,View,我在一个laravel网站上工作,该网站具有搜索航班/酒店等基本功能。。 我想做的一件事是在用户提交搜索信息后显示加载页面,以便在API运行时显示一些动画 问题是我无法找到一种方法来显示页面并同时运行控制器代码。我一直在尝试从我的PagesController将FlightsController传递到视图 PagesController.php 然后在flight search视图中调用函数,如下所示 flight-search.blade.php @extends('app') @节(“内容”

我在一个laravel网站上工作,该网站具有搜索航班/酒店等基本功能。。 我想做的一件事是在用户提交搜索信息后显示加载页面,以便在API运行时显示一些动画

问题是我无法找到一种方法来显示页面并同时运行控制器代码。我一直在尝试从我的PagesController将FlightsController传递到视图

PagesController.php

然后在flight search视图中调用函数,如下所示

flight-search.blade.php

@extends('app')
@节(“内容”)
正在搜索可用的票证。。。
{{$FlightsController->search($user\u input)}
@端部
但是页面加载总是等待函数调用完成,search()方法本身返回下一个带有搜索结果的视图


关于我应该如何处理这个问题,有什么建议吗?

只有在处理完整个请求后,服务器才会发送响应,因此您尝试执行的操作将不起作用。一个常见的解决方案是显示加载屏幕,向服务器发送AJAX请求以获取结果,并且在加载结果后,隐藏加载屏幕并显示结果。当然,这必须用Javascript而不是PHP来完成

因此,情况将是:

  • 用户填写表单
  • 用户点击“搜索”
  • 用Javascript显示加载屏幕
  • 将AJAX请求发送到后端,以使用Javascript获得结果
  • 获取结果时,隐藏加载屏幕并用Javascript显示结果

是的,你说得对。我希望找到一种只使用Laravel的方法,但遗憾的是,请求处理不允许这样做。谢谢你的详细回复!
public function flight_search( Request $request )
{

    $FlightsController = new FlightsController();

    return view('flights.flight-search', [
        'FlightsController' => $FlightsController,
        'user_input' => $request
        ]);
}
@extends('app')

@section('content')
<div class="container-fluid">
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <div class="page-heading">Searching for available tickets...</div>
        </div>
    </div>
    <div class="row">
        <div class="col-md-8 col-md-offset-2">
            <div class="progress">
                <div class="progress-bar progress-bar-striped progress-bar-warning active" role="progressbar" aria-valuemin="0" aria-valuemax="100" style="width:100%">
                </div>
            </div>
        </div>
    </div>
</div>

{{ $FlightsController->search( $user_input ) }}

@endsection