Php jqueryajax是';t使用Laravel分页时工作正常
我正在尝试使用ajax和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
<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);
}
}
}});
});