我有一个搜索栏,允许用户搜索其他配置文件,我使用“simplePaginate”方法每页显示一个结果(这是出于测试目的,工作时数量会更高)。当我单击“下一步”按钮时,第一页加载正常,出现问题。该页面需要几秒钟来尝试加载,然后返回 ERR_TOO_MANY_REDIRECTS 页面。
我已经测试了 Chrome 和 Safari 网络浏览器中的错误,并且都返回相同类型的错误。该站点当前正在我的本地主机上运行。
我无法调试这个问题,因为我有类似的功能,可以按类别过滤帖子并对结果进行分页,效果很好。因此,我很难看到我的代码有任何问题。我目前认为 Laravel 5.7 分页系统可能出了问题?
我已经提供了与该问题相关的所有代码。
搜索表单(位于我的导航栏上)
<form method="POST" action="{{ route('usersearch') }}" enctype="multipart/form-data">
@csrf
<input class="search-bar" type="text" name="search" placeholder="Search">
<button class="search-btn" type="submit">
<i class="fas fa-search"></i>
</button>
</form>
搜索功能路线
Route::any('/usersearch', 'UserController@searchUsers')->name('usersearch');
控制器中的搜索功能
public function searchUsers(Request $request)
{
request()->validate([
'search' => 'required',
]);
$q = $request->input('search');
$resultCount = Users::where('name','LIKE','%'.$q.'%')->count();
$users = Users::where('name','LIKE','%'.$q.'%')->simplePaginate(1);
$pagination = $users->appends(array('q' => $q));
return view('search')->with('users', $users)->with('resultCount', $resultCount)->withQuery($q);
}
在视图中显示分页
@if ($users->hasPages())
<p class="small-header">More Results</p>
{{$users->links()}}
@endif
所以我在网站上有两个测试帐户,用户名中带有“Fred”,第一个页面上的第一个帐户显示没有问题,当单击下一个按钮时,应该显示第 2 页和第二个“Fred”帐户需要一段时间才能在显示太多重定向错误页面之前加载。
从分页链接显示的 HTML
<ul class="pagination" role="navigation">
<li class="page-item disabled" aria-disabled="true">
<span class="page-link">« Previous</span>
</li>
<li class="page-item">
<a class="page-link" href="http://localhost:8888/projectboxnew/public/usersearch?q=Fred&page=2" rel="next">Next »</a>
</li>
</ul>