【问题标题】:Laravel get route view without redirectLaravel 无需重定向即可获取路线视图
【发布时间】:2021-05-03 03:51:36
【问题描述】:

我正在网站上进行搜索。

public function search(Request $request)
{ 
  $search_value = $request->search_txt;

  $data_res = Data::Where('text', 'like', '%' . $search_value . '%')->get();
  $navbar_search = Navbar::where('id','183')->first();
  return redirect(route('response', $navbar_search->slug))->with('data_res',$data_res);
}

这是我的控制器功能。我遇到了我想在同一页面中显示数据的问题。我需要将视图返回到这个确切的“响应”路线并发送 slug。此重定向不起作用,因为重定向后的 $data_res 为空..

路线:

Route::post('/search/search_res', 'SearchController@search')->name('search.srch');
Route::get('/{slug}', 'FrontEndPagesController@index')->name('response');

HTML:

<form class="form-horizontal" method="POST" action="{{ route('search.srch') }}">
  {{ csrf_field() }}

  <div class="main search_field">
    <div class="input-group">
      <input type="search" name="search_txt" class="form-control" value="{{ old('search_txt') }}" placeholder=" tekstas apie paieska ?" required maxlength="200" style="padding-left: 10px !important;">
      <div class="input-group-append">
        <button class="btn btn-secondary" type="submit">
          <i class="fa fa-search"></i>
        </button>
      </div>
    </div>
  </div>
</form>

@if(!empty($data_res))
  @foreach($data_res as $data)
    {{ $data->id }}
  @endforeach
@endif

【问题讨论】:

  • 如何return back()->with('data_res',$data_res);
  • 另一方面,我建议您利用 Ajax 实现搜索功能,从而消除页面重新加载的负载和挫败感。
  • 它没有用。我用更多代码更新了我的问题。可能是其他地方出错了

标签: laravel redirect routes


【解决方案1】:

根据我的经验,我认为当您重定向到另一条路线并包含“with”时,它会将数据存储在会话中。

您可能希望通过函数 FrontEndPagesController@index 访问

 $data_res = session()->get('data_res');

然后,要使其可用于刀片文件,请将其放在返回响应中,如

return view('your response view', compact('data_res')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-19
    • 1970-01-01
    • 2013-07-19
    • 2018-11-09
    • 1970-01-01
    • 2022-11-27
    • 2018-07-17
    • 2014-06-27
    相关资源
    最近更新 更多