Php jqueryajax是';t使用Laravel分页时工作正常

Php jqueryajax是';t使用Laravel分页时工作正常,php,jquery,ajax,laravel-5,pagination,Php,Jquery,Ajax,Laravel 5,Pagination,我正在尝试使用ajax和laravel分页从数据库表加载记录 这是我的用户界面 显示分页按钮的代码 <div class="pull-right" id="inboxcount"> <div class="btn-group"> <button type="button" class="btn btn-default btn-sm" data-url=" " id="inbox_prev_page_url"><i class

我正在尝试使用ajax和laravel分页从数据库表加载记录

这是我的用户界面

显示分页按钮的代码

<div class="pull-right" id="inboxcount">

    <div class="btn-group">
         <button type="button" class="btn btn-default btn-sm" data-url=" " id="inbox_prev_page_url"><i class="fa fa-chevron-left"></i></button>
         <button type="button" class="btn btn-default btn-sm" data-url=" " id="inbox_next_page_url"><i class="fa fa-chevron-right"></i></button>
    </div>
</div>

在页面加载时,我使用ajax从表中获取数据,目前我保留了两条记录的分页,以便易于理解

Ajax代码,用于在页面加载时首次加载记录

$(document).ready(function() 
    {
      $.ajax({
          url: "http://localhost/sanimailer/public/get-inbox/2",
          dataType: "json",
          type:"get",
          async: true,
          success: function(data) 
          {
            if(data!='NULL')
            {
              console.log(data);

              $("[id=inboxcount]").prepend(data['from'] + ' - ' + data['to'] + ' / ' + data['total']);
              $("[id=inbox_prev_page_url]").attr("data-url",data['prev_page_url']);
              $("[id=inbox_next_page_url]").attr("data-url",data['next_page_url']);

              for (var i=0; i<data['data'].length; i++) 
              {
                  var fromName = data['data'][i].fromName;
                  var fromAddress = data['data'][i].fromAddress;
                  var subject = (data['data'][i].subject).substr(0,50); 
                  var date = data['data'][i].date;


                  var row = $('<tr><td><input type=checkbox></td><td class=mailbox-star><a href=#><i class=fa fa-star text-yellow></i></a></td><td class=mailbox-name><a href=# title='+ fromAddress + '>' + fromName + '</a></td><td class=mailbox-subject>' + subject + '</td><td class=mailbox-attachment><i class=fa fa-paperclip></i></td><td class=mailbox-date>' + date + '</td></tr>');

                  $("#inboxtable").append(row);
              }
            }

          }});

});
$(文档).ready(函数()
{
$.ajax({
url:“http://localhost/sanimailer/public/get-inbox/2",
数据类型:“json”,
键入:“获取”,
async:true,
成功:功能(数据)
{
如果(数据!='NULL')
{
控制台日志(数据);
$(“[id=inboxcount]”。前置(数据['从']+'-'+数据['到']+'/'+数据['总计]);
$(“[id=inbox\u prev\u page\u url]”)attr(“数据url”,data['prev\u page\u url');
$(“[id=inbox\u next\u page\u url]”)attr(“数据url”,data['next\u page\u url');

对于(var i=0;i分页未进行的原因是,当您在下一次单击按钮时使用
.data('url')
时,jQuery一直在获取其内部缓存版本的url数据属性。要始终从DOM中获取新属性,请使用
.attr('data-url')

所以,改变你的路线:

var url=$(“[id=inbox\u next\u page\u url]”)。数据(“url”);

var url=$(“[id=inbox\u next\u page\u url]”)attr(“数据url”);

你的代码也能用

.data()

数据属性在第一次创建数据属性时被拉入 已访问,然后不再访问或更改(所有数据值 然后存储在jQuery中)

以下是jQuery论坛上的内容

$("[id=inbox_next_page_url]").click(function(){

        var url=$("[id=inbox_next_page_url]").data("url");

        $.ajax({
          url:url,
          dataType: "json",
          type:"get",
          async: true,
          success: function(data) 
          {
            if(data!='NULL')
            {

              console.log(data);
              // $("#inboxtable").empty();
              $("[id=inbox_prev_page_url]").attr("data-url","");
              $("[id=inbox_next_page_url]").attr("data-url","");


              $("[id=inboxcount]").prepend(data['from'] + ' - ' + data['to'] + ' / ' + data['total']);
              $("[id=inbox_prev_page_url]").attr("data-url",data['prev_page_url']);
              $("[id=inbox_next_page_url]").attr("data-url",data['next_page_url']);

              alert($("[id=inbox_next_page_url]").attr("data-url"));

              for (var i=0; i<data['data'].length; i++) 
              {
                  var fromName = data['data'][i].fromName;
                  var fromAddress = data['data'][i].fromAddress;
                  var subject = (data['data'][i].subject).substr(0,50); 
                  var date = data['data'][i].date;


                  var row = $('<tr><td><input type=checkbox></td><td class=mailbox-star><a href=#><i class=fa fa-star text-yellow></i></a></td><td class=mailbox-name><a href=# title='+ fromAddress + '>' + fromName + '</a></td><td class=mailbox-subject>' + subject + '</td><td class=mailbox-attachment><i class=fa fa-paperclip></i></td><td class=mailbox-date>' + date + '</td></tr>');


                  $("#inboxtable").append(row);
              }
            }

          }});
      });