当前位置: 首页 > 知识库问答 >
问题:

来自AJAX请求的分页不能正常工作-Laravel 5.6

龚沛
2023-03-14

我正在使用Laravel 5.6--Jquery Ajax

url : '{{action('PostController@searchAdmin')}}'

我将该操作的返回作为带有数据的部分

return view('back.partials.searchResult', ['posts' => $posts, 'trashed' => $trashed]);

我将主标记的内容替换为部分标记

除了当结果计数大于10(分页的断点)时,其他一切都正常工作。

Undefined variable: posts

我使用$posts->links()来显示控件

共有1个答案

扶高歌
2023-03-14

我找到了一个解决办法所以我把它贴出来

在web.php中

Route::get('/search', function(Request $request) {
    $search = $request->search;
    $trashed = Post::trash()->count();
    $posts = Post::notTrash()
        ->where('title', 'like', '%' . $search . "%")
        ->orWhere('post_type' , 'like', '%' . $search . '%')
        ->paginate(10);


    $posts->withPath('?search=' . $search);
    return view('back.partials.searchResult', ['posts' => $posts, 'trashed' => $trashed, 'search' => $search]);
});

 这段代码用于测试目的,不久将导出到一个名为SearchController的新控制器中

public function index(Request $request)
{

    // GET parameters
    $paginate = $request->input('paginate') ?? 10;
    $search = $request->input('search') ?? null;

    if($search !== null) {
        $posts = $this->checkCategories($paginate, $search);
    } else {
        $posts = Post::notTrash()->orderBy('id', 'ASC')->paginate($paginate);
    }
    $trashed = Post::trash()->count();
    $posts->withPath('?search=' . $search);

    return view('back.index', ['posts' => $posts, 'trashed' => $trashed, 'search' => $search]);
}
private function checkCategories($paginate, $search)
{
    $categories = Category::all();
    foreach ($categories as $category) {

        if(strpos(strtolower($category->name), $search) === false) {
// @TODO: Change for stripos 
            $posts = Post::notTrash()
                ->where('title', 'like', '%' . $search . '%')
                ->orWhere('post_type', 'like', '%' . $search . '%')
                ->paginate($paginate);
        } else {
            return Category::find($category->id)->posts()->paginate($paginate);
        }
    }

    return $posts;

}
   @if($search !== null)
        {{ $posts->appends($search)->links() }}
    @else
        {{ $posts->links() }}
    @endif

现在替换

{{ $posts->links() }}

解决方案是$var->**WithPath()**和处理GET参数

 类似资料:
  • 问题内容: 我正在尝试使用Elastic Search引擎在mongodb数据库上进行全文搜索,但是遇到一个问题:无论我提供什么搜索字词(或者如果我使用query1或query2),引擎始终会返回相同的结果。我认为问题出在我提出请求的方式上,但我不知道如何解决。 这是代码: 问题答案: 该参数不适用于正在发送的数据。如果要尝试将数据发送到服务器,则应特别使用data参数。如果您尝试发送查询参数,则

  • 我是Django初学者,所以我被困在基于类的分页中,我已经关注了很多关于分页的帖子,但不幸的是,我无法解决这个错误。 如果我在搜索框中搜索“爱”,URL就会变成这样 http://127.0.0.1:8000/search/?q=love 结果显示了分页功能,但当我点击下一个分页按钮时,查询get remove,url变成这样 http://127.0.0.1:8000/search/?page=

  • 在简单的我的表单,我想使用ajax与和获取和发布请求后,使用和提交表单我的页面是刷新和警报不工作的控制器验证。 控制器中的简单请求ajax无法正常工作 我的形式: 我的控制器: 我的路线:

  • 我在数据服务器端处理中的代码有问题。问题在于分页。我的数据给我3页,但只有第一次点击分页工作的数字(不管我点击了什么数字)。在此之后,任何数量的任何点击都只会使表格内容闪烁。表中没有任何变化。 谁能帮我提些建议做什么?非常感谢。 编辑: 刚刚修好了。请核对答案。 我的代码:

  • 我正试图在按下某个按钮时弹出一个警报对话框。我首先使用了Android Developer的示例代码而不是'这不起作用,所以我根据在这个站点上发现的情况进行了更改,但是现在我的程序在按下按钮后被迫停止。 就你的知识而言,这是在第二个不同于主要的活动中完成的。不确定这是否重要.... ‘ 碰撞日志:“03-25 19:34:24.373:E/AndroidRuntime(18828):致命异常:ma

  • 2,错误{org.apache.directory.server.LDAP.ldapserver}-ERR_171无法将LDAP服务(10,389)绑定到服务注册表。java.net.BindException:已在使用的地址 请帮忙谢谢 --------提示------------------- JAVA_HOME环境变量设置为/opt/java CARBON_HOME环境变量设置为/mnt/1