जैसा कि मेरी टिप्पणियों में कहा गया है।
आप निम्न कार्य कर सकते हैं:
$(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');
}
});
});
});
उपरोक्त आपको प्रत्येक पेजिनेशन लिंक पर क्लिक करने की नकल करेगा।
मैं आगे क्या करने की सलाह दूंगा PHP कोड और HTML को अलग करना जो आपकी "परिणाम" सूची को एक अलग फ़ाइल में उत्पन्न करता है।
इस तरह, परिणाम प्रदर्शित करने वाले पृष्ठ पर, आप बस उपयोग कर सकते हैं include('path-to-results-file.php');
जो गैर-AJAX अनुरोधों के लिए काम करेगा और फिर आप यह कर सकते हैं:
Process.php
if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{
include('path-to-results-file.php');
die();
}
उपरोक्त यह पता लगाएगा कि क्या कोई अजाक्स अनुरोध किया गया है और यदि ऐसा है, तो परिणामों सहित पूरे पृष्ठ को प्रदर्शित करने के बजाय, यह केवल परिणाम और पृष्ठांकन प्रदर्शित करेगा।
बेहतर स्पष्टीकरण शामिल करने के लिए अपडेट किया गया
मेरे कहने का एक बहुत ही सरल उदाहरण नीचे दिया गया है।
वर्तमान प्रक्रिया.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>
नई प्रक्रिया.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>
नया पथ-से-परिणाम-file.php
<?
// 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>
अब... जब आप process.php
. पर जाएं आम तौर पर आपके ब्राउज़र के माध्यम से, या जब जावास्क्रिप्ट अक्षम होता है। यह वैसे ही काम करेगा जैसे यह अब जावास्क्रिप्ट के बिना करता है।
जब आप process.php
. पर जाते हैं और फिर पेजिनेशन लिंक (जावास्क्रिप्ट सक्षम के साथ) में से एक पर क्लिक करें, process.php
यह पता लगाएगा कि आप अजाक्स का उपयोग कर रहे हैं और केवल परिणामों की तालिका वापस भेजेंगे।