Seperti yang dinyatakan dalam komentar saya.
Anda dapat melakukan hal berikut:
$(document).ready(function()
{
$('.paginate').live('click', function(e)
{
e.preventDefault();
var btnPage = $(this);
$.ajax(
{
url : btnPage.attr('href'),
success : function(resp)
{
// replace current results with new results.
$('#project_section').html(resp);
},
error : function()
{
window.location.href = btnPage.attr('href');
}
});
});
});
Di atas akan meniru Anda mengklik setiap link pagination.
Apa yang saya sarankan untuk dilakukan selanjutnya adalah memisahkan kode PHP dan HTML yang menghasilkan daftar "hasil" Anda ke dalam file terpisah.
Dengan cara ini, pada halaman yang menampilkan hasil, Anda cukup menggunakan include('path-to-results-file.php');
yang akan berfungsi untuk permintaan non-ajax dan kemudian Anda dapat melakukan:
Process.php
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
include('path-to-results-file.php');
die();
}
Di atas akan mendeteksi jika permintaan ajax telah dibuat dan jika demikian, alih-alih menampilkan seluruh halaman termasuk hasil, itu hanya akan menampilkan hanya hasil dan pagination.
Diperbarui untuk menyertakan penjelasan yang lebih baik
Di bawah ini adalah contoh yang SANGAT sederhana dari apa yang saya maksud.
Proses saat ini.php
<?
// currently contains all of the code required
// to query the database etc.
?>
<html>
<head>...</head>
<body>
<!-- header content -->
<table>
<?
// currently contains all of the code required to display
// the results table and pagination links.
?>
</table>
<!-- footer content -->
</body>
</html>
Proses baru.php
<?
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
include('path-to-results-file.php');
die();
}
?>
<html>
<head>...</head>
<body>
<!-- header content -->
<? include('path-to-results-file.php'); ?>
<!-- footer content -->
</body>
</html>
Jalur-ke-hasil-file.php baru
<?
// currently contains all of the code required
// to query the database etc.
?>
<table>
<?
// currently contains all of the code required to display
// the results table and pagination links.
?>
</table>
Sekarang... Ketika Anda pergi ke process.php
biasanya melalui browser Anda, atau ketika javascript dinonaktifkan. Ini hanya akan bekerja dengan cara yang sama tanpa Javascript sekarang.
Ketika Anda pergi ke process.php
lalu klik salah satu tautan pagination (dengan javascript diaktifkan), process.php
akan mendeteksi bahwa Anda menggunakan Ajax dan hanya mengirim kembali tabel hasil.