У меня почти такой же вызов Ajax Request, но мне нужно расширить его, чтобы он был более общим
См. Пример кода: http://jsfiddle.net/2b8gR/6/
У меня она работает для страницы A и я хочу использовать ее для страниц B, C, D и т. Д., Но не хочу переписывать функцию для каждого нового запроса Ajax.
Большая часть кода останется прежней, кроме:
- введите следующий / предыдущий (page_a_next становится page_b_next)
- отображение страницы div (display_page_a_page становится display_page_b_page)
- показать номер страницы div (display_page_a_number становится display_page_b_number)
- имя страницы URL запроса ajax (url: 'page_a.php? Page =' + currentPageA, становится URL: 'page_b.php? Page =' + currentPageB,)
и пр.
Как сделать вызов Ajax и его элементы более общими, чтобы мне не приходилось писать этот запрос несколько раз?
ПРИМЕЧАНИЕ. Мне нужно иметь возможность отслеживать каждую страницу (A, B, C и т. Д.), Которая отображается в данный момент. И да, все это на одной странице
HTML:
<!-- Page A -->
<div>
<span>Page A</span>
<input id="page_a_next" name="page_a_next" type="button" value="Next" data-inline="true" />
<input id="page_a_prev" name="page_a_prev" type="button" value="Previous" data-inline="true" />
</div>
<div id="display_page_a_page" name="display_page_a_page">
</div>
<div id="display_page_a_number" name="display_page_a_number">
</div>
<!-- Page B -->
<div>
<span>Page B</span>
<input id="page_b_next" name="page_b_next" type="button" value="Next" data-inline="true" />
<input id="page_b_prev" name="page_b_prev" type="button" value="Previous" data-inline="true" />
</div>
<div id="display_page_b_page" name="display_page_b_page">
</div>
<div id="display_page_b_number" name="display_page_b_number">
</div>
JS:
var currentPageA=1;
var totalPageA=113;
loadPageA();
$("#page_a_next, #page_a_prev").click(function(){
currentPageA = ($(this).attr('id')=='page_a_next') ? currentPageA + 1 : currentPageA - 1;
if(currentPageA<=0) {
currentPageA=1;
$('#page_a_prev').attr('disabled','disabled');
} else if(currentPageA==114) {
currentPageA=113;
$('#page_a_next').attr('disabled','disabled');
} else {
loadPageA();
}
});
function loadPageA(){
$('#page_a_next').attr('disabled','disabled');
$('#page_a_prev').attr('disabled','disabled');
$.ajax({
url: 'page_a.php?page='+currentPageA,
type: 'POST',
error : function (){ alert('Error'); },
success: function (data) {
$('#display_page_a_number').html(currentPageA + ' of ' + totalPageA);
$('#display_page_a_page').html(data);
$('#page_a_next').attr('disabled','');
$('#page_a_prev').attr('disabled','');
}
});
}