#jquery #ajax #zend-framework #zend-paginator
#jquery #ajax #zend-framework #zend-paginator
Вопрос:
Здесь я использую Zend Paginator, в ajax-запросе я извлекаю объекты на основе результатов поиска и визуализирую HTML-код и передаю его вместе с визуализированным представлением Zend Paginator.
Проблема в том, что возвращающий paginator не учитывает новый URL. например, если бы я должен был сделать это без ajax, я бы прочитал URL моей страницы:
www.mysite.com/?search=somethingamp;page=2
Однако с помощью запроса from и ajax это не работает таким образом, переменная search не добавляется к URL в ссылках paginator. Пожалуйста, помогите.
Комментарии:
1. Можем ли мы увидеть код, над которым вы работаете. У Zend Paginator нет проблем с отображением URL страницы.
Ответ №1:
Я предполагаю, что у вас где-то на вашем сайте есть ссылки на разбивку на страницы, которые указывают на разные страницы, созданные в вашем файле pagination.phtml.
OnClick вам нужно получить этот атрибут href и загрузить содержимое таким образом:
function getContents() {
var url = window.location.protocol "//"
window.location.host $(this).attr('href');
var jqxhr = $.post(url, {
"format" : "json"
}, function(data) {
displayContents(data);
}, 'html');
return false;
}
$(document).ready(function() {
$("#paginator a").each(function() {
$(this).click(getContents);
});
});
Таким образом, вы получаете свой классический URL
www.mysite.com/?search=somethingamp;page=2
возможно, вам нужно изменить поле url. Просто предупредите поле url и посмотрите, что нужно изменить.
Вот руководство по этому вопросу (без поиска): Zend Framework 1.9 руководство 14: ajax-запросы, часть 1
Комментарии:
1. На самом деле мой вопрос был не в отношении ajax paginator, а в отношении HTML, созданного объектом Zend Paginator. Похоже, что zend paginator использует текущий URL-адрес в качестве основы для построения ссылок. Однако в ajax-запросе текущий URL не обязательно может быть фактическим URL, который необходимо создать здесь.
2. Я не уверен, в чем ваша проблема. В вашем вопросе вы говорите, что часть ajax не работает. Работает ли разбивка на страницы без ajax до сих пор?
Ответ №2:
Не видя вашего кода, я не могу быть уверен, но похоже, что скрипты просмотра вашего Paginator Controls (т. Е. .phtml
файлы, которые отображают ваши следующие, предыдущие и т.д. ссылки) используют $this->url()
, Но вы не настроили его для обнаружения и добавления параметра поиска в конец ссылок.
Если ваши сценарии просмотра элементов управления специфичны для этого разбиения на страницы, попробуйте вручную добавить «?search =something» в параметр href вашего <a>
тега. Это должно заставить его включить их в выходные данные.
Было бы здорово, если бы вы могли предоставить нам код из вашего контроллера и View, показывающий, как вы внедряете Paginator и визуализируете страницы. Или живая демонстрация всегда хороша : D