разбиение на страницы Laravel работает неправильно - PullRequest
0 голосов
/ 18 апреля 2019

Я загружаю данные при загрузке страницы, которая имеет нумерацию страниц, и она работает правильно, затем мне нужно искать на той же странице, я ищу значение, которое дает результат правильно, и ссылки на страницы нумерации тоже верны, и когда я нажимаю на кнопку Далеечтобы просмотреть вторую запись результатов поиска, ссылки на страницы разбиваются, похоже, что они снова ищут и выводят все результаты, а не только те, которые мне нужны, при следующем нажатии.

Пожалуйста, просмотрите скриншоты
1. https://prnt.sc/nduf3b
2. https://prnt.sc/nduitr 3. https://prnt.sc/ndujri

Функция контроллера

public function sharesShow(Request $request)
{
$data = array();
$data = Share::paginate(1);
$all = '';

if ($request->ajax()) {
    $all = $request->all();
    if(isset($all['data'])){
        parse_str($all['data'], $getData);
        $categoryId = $getData['categoryId'];
        $shareName = $getData['shareName'];
        $data = Share::where('categoryId', $categoryId)->paginate(1);
    }
    return view('shares.showAjax')->with('data',$data);
  }
    return view('shares.show')->with('data',$data);
}

JS

<script type="text/javascript">

  $(window).on('hashchange', function() {
    if (window.location.hash) {
       var page = window.location.hash.replace('#', '');
      if (page == Number.NaN || page <= 0) {
        return false;
      }else{
        getData(page);
      }
     }
  });

$(document).ready(function()
{
   $(document).on('click', '.pagination a',function(e)
   {

    e.preventDefault();

        $('li').removeClass('active');
        $(this).parent('li').addClass('active');

        var myurl = $(this).attr('href');
        var page=$(this).attr('href').split('page=')[1];

        console.log(page);
        // return false;

        getData(page);

    });

// });

function getData(page){

    $.ajax({
        url: '?page=' + page,
        type: "get",
        datatype: "html",
        success: function(data){
          $("#tag_container").empty().html(data);
          location.hash = page;
        }
    });
   }

 });

    $(document).ready(function(){

        $('#searchBtn').click(function(e){
           e.preventDefault();

           var url = $("#searchForm").attr('action');
           var data = $("#searchForm").serialize();

           $.ajax({
              url: url,
              method: 'get',
              data: {
                "data": data,
                "_token": "{{ csrf_token() }}"
              },
              dataType: "html",

              success: function(result){
                $("#tag_container").html("");
                console.log(result);                    
                $("#tag_container").html(result);
                }
            });
           });

        });
    </script>
...