我在这里使用Zend Paginator,在ajax请求中,我根据搜索结果检索对象并渲染HTML并将其与渲染的Zend Paginator视图一起传递。
问题是返回的分页符没有考虑新的url。例如,如果我在没有ajax的情况下这样做,我会将我的页面URL读取:
www.mysite.com/?search=something&page=2
然而,从和ajax查询它不起作用,搜索变量没有附加到paginator链接中的url。请帮助。
答案 0 :(得分:0)
我认为您在网站的某处隐藏分页链接指向 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);
});
});
通过这种方式,您可以获得经典网址
www.mysite.com/?search=something&page=2
也许您需要更改网址字段。只需提醒网址字段,看看需要更改的内容。
这是一个关于它的教程(没有搜索):Zend Framework 1.9 tutorial 14: ajax requests part 1
答案 1 :(得分:0)
没有看到你的代码我不能确定,但听起来像你的Paginator Controls View Scripts(即呈现你的Next,Previous等链接的.phtml
文件)正在使用$this->url()
但您尚未将其配置为检测并将搜索参数附加到链接的末尾。
如果您的控件视图脚本特定于该Paginator,请尝试在<a>
标记的href参数中手动添加“?search = something”。这应该强制它将它们包含在输出中。
如果您能够向我们提供来自Controller和View的代码,展示如何实现Paginator并呈现页面,那将是非常棒的。或者现场演示总是很好:D