Laravel,从控制器获取数据用于显示目的
Laravel, get data from controller for display purposes
我想根据用户在表单中提供的数据,在 blade 视图中显示在控制器中计算的数据。现在,我通过以下方式执行此操作:
//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]);
}
以上代码按预期工作。我可以提供 url,单击 "Get" 后,我可以在表单下方看到找到的项目列表。但是,有些事情告诉我这不是正确的方法,因为整个页面都会刷新。我是对的(所以上面的代码不好)?如果是这样,是否有任何内置功能可以在不刷新的情况下显示获取的数据?我在官方 Laravel-form 页面上进行了搜索,但没有找到任何内容。
据我了解你的问题。
代码似乎没问题,但如果不刷新页面,您创建的逻辑可能无法实现,因为用户交互取决于需要重新加载的服务器响应。
您可以使用 AJAX 在不刷新页面的情况下设计另一个交互操作,因此当用户单击按钮时,他会从服务器获取结果,然后您会在页面中显示结果。因为 AJAX Request/Response 发生在用户的幕后,所以它给人的印象是页面没有重新加载,这可能正是您想要的。
我想根据用户在表单中提供的数据,在 blade 视图中显示在控制器中计算的数据。现在,我通过以下方式执行此操作:
//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]);
}
以上代码按预期工作。我可以提供 url,单击 "Get" 后,我可以在表单下方看到找到的项目列表。但是,有些事情告诉我这不是正确的方法,因为整个页面都会刷新。我是对的(所以上面的代码不好)?如果是这样,是否有任何内置功能可以在不刷新的情况下显示获取的数据?我在官方 Laravel-form 页面上进行了搜索,但没有找到任何内容。
据我了解你的问题。
代码似乎没问题,但如果不刷新页面,您创建的逻辑可能无法实现,因为用户交互取决于需要重新加载的服务器响应。
您可以使用 AJAX 在不刷新页面的情况下设计另一个交互操作,因此当用户单击按钮时,他会从服务器获取结果,然后您会在页面中显示结果。因为 AJAX Request/Response 发生在用户的幕后,所以它给人的印象是页面没有重新加载,这可能正是您想要的。