【问题标题】:Laravel, get data from controller for display purposesLaravel,从控制器获取数据以进行显示
【发布时间】:2017-04-26 06:21:50
【问题描述】:

我想根据用户在表单中提供的数据在刀片视图中显示控制器中计算的数据。目前我正在这样做:

//View xyz.blade.php
<div class="card">
    <div class="card-header">Add link</div>
    <div class="card-block">
        {{ Form::open(array('url' => 'getSimilar', 'method' => 'GET')) }}
        {{ Form::token() }}
        <div class="form-group">
            {{ Form::label('url', 'url:') }}
            {{ Form::text('url', '') }}
        </div>
        {{ Form::submit('Get') }}
        {{ Form::close() }}
    </div>

    @if( ! empty($similar))
        <div class="card-block">
            @foreach ($similar as $item)
                {{$item->title}} <br/>
            @endforeach
        </div>
    @endif
</div>

//Controller
public function getSimilar(){
    ..
    return View('xyz', ['similar' => $found]);
} 

上面的代码按预期工作。我可以提供一个网址,然后单击“获取”后,我可以在表单下方看到找到的项目列表。但是,有些事情告诉我这不是正确的方法,因为整个页面都会刷新。我是对的(所以上面的代码很糟糕)?如果是这样,是否有任何内置功能可以在不刷新的情况下显示获取的数据?我在官方 Laravel 表单页面上进行了搜索,但没有找到任何东西。

【问题讨论】:

    标签: php web laravel-5 laravel-blade


    【解决方案1】:

    据我所知,您的问题。

    代码似乎没问题,但如果不刷新页面,您创建的逻辑可能无法实现,因为用户交互取决于需要重新加载的服务器响应。

    您可以使用 AJAX 在不刷新页面的情况下制作另一个交互操作,因此当用户单击按钮时,他会从服务器获取结果,然后您会在页面中显示结果。因为 AJAX 请求/响应发生在用户的幕后,所以给人的印象是页面没有重新加载,这可能是您想要的。

    【讨论】:

    • 我预料到了。谢谢!
    猜你喜欢
    • 2020-08-27
    • 2020-10-20
    • 1970-01-01
    • 2021-05-15
    • 2019-01-25
    • 2014-07-17
    • 1970-01-01
    • 2020-08-28
    • 2019-09-13
    相关资源
    最近更新 更多