在我的 Laravel 项目中,我使用 Laravel 分页,并通过 ajax 调用它,但现在我想添加排序搜索之类的东西。所以我想要我的 URL 像 http://localhost:8000/test/sites?page=2&sort=name&order=asc 但我得到像 http://localhost:8000/test/sites#?page=2 这样的 URL,那么如何删除来自 Laravel 代码的 # 呢?
$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() 吗?
$(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 如果未添加哈希,如果添加则不刷新页面
您可以从脚本中删除给定行。
`location.hash= '?page=' + page;`