【问题标题】:How to remove #symbol from laravel pagination url如何从laravel分页网址中删除#symbol
【发布时间】:2023-03-12 04:20:01
【问题描述】:

我的 laravel 项目我正在使用 laravel 的分页。并通过 ajax 调用,但现在我想添加排序搜索和一些东西。所以我想要我的网址,比如http://localhost:8000/test/sites?page=2&sort=name&order=asc 但我得到像http://localhost:8000/test/sites#?page=2 这样的网址,所以我怎样才能删除来自 laravel caode 的#wich。

  $sites = DB::table('to_jobs')
  ->select(array(
      'to_jobs.rec_id',
      'to_jobs.contarct_code',
      'to_jobs.job_num',
      'to_sites.site_name',
      'to_sites.postcode',
      'to_sites.site_id' 
  ))
  ->leftjoin('to_sites', 'to_jobs.fk_site_id', '=', 'to_sites.site_id')
  /* ->join(DB::raw('(SELECT rec_id FROM   to_jobs LIMIT  299990, 10) AS t'), function($join) {
      $join->on('t.rec_id', '=', 'to_jobs.rec_id');
  })*/
  ->paginate(10);

  if (Request::ajax()) {    
      return Response::json(View('sites/site_data',compact('sites'),compact('user_data'))->render());
  }

我需要在 render() 中进行更改吗?

【问题讨论】:

  • 你使用的是哪个 Laravel 版本?我刚刚检查过了。 Laravel 5.3 不会在分页链接中添加 #。它生成的 URL 如下:blog.local/blog?page=2
  • laravel 最新版本 5.3.22
  • 那么,我可以向你保证 Laravel 不会为分页 URL 附加 #。您的代码中必须存在其他问题。您是否在任何地方自定义分页?

标签: laravel sorting search pagination


【解决方案1】:
$(document).ready(function() {
                            $(document).on('click', '.pagination a', function (e) {
                                getPagePosts($(this).attr('href').split('page=')[1]);
                                e.preventDefault();
                            });
                            $(document).on('click', '.sorting', function (e) {
                                getSortPosts($('.pagination .active span').html(),$(this).attr('aria-label'),$(this).attr('aria-sort'));
                                e.preventDefault();
                            });
                        });
                        function getPagePosts(page) {
                            $.ajax({
                                url : '?page=' + page ,
                                dataType: 'json',
                            }).done(function (data) {
                                $('.posts').html(data);
                                location.hash= '?page=' + page ;
                            }).fail(function () {
                                alert('Posts could not be loaded.');
                            });
                    }                        

谢谢,我在 location.hash 找到了它。但是最近我知道如果我删除了 .hash 。你能解释一下为什么如果没有添加哈希会刷新 pahe 并且如果添加了则不刷新页面

【讨论】:

    【解决方案2】:

    您可以从脚本中删除给定行。

    `location.hash= '?page=' + page;`
    

    【讨论】:

      猜你喜欢
      • 2019-09-14
      • 1970-01-01
      • 1970-01-01
      • 2013-05-17
      • 2021-02-06
      • 1970-01-01
      • 1970-01-01
      • 2021-03-17
      • 2020-08-13
      相关资源
      最近更新 更多