我在这里使用Zend Paginator,在一个 ajax 请求中,我根据搜索结果检索对象并呈现 HTML 并将其与呈现的 Zend Paginator 视图一起传递。
问题是返回的分页器没有考虑到新的 url。例如,如果我要在没有 ajax 的情况下执行此操作,我的页面 url 会显示为:
www.mysite.com/?search=something&page=2
但是,从和 ajax 查询它不起作用,搜索变量不会附加到分页器链接中的 url。请帮忙。
我在这里使用Zend Paginator,在一个 ajax 请求中,我根据搜索结果检索对象并呈现 HTML 并将其与呈现的 Zend Paginator 视图一起传递。
问题是返回的分页器没有考虑到新的 url。例如,如果我要在没有 ajax 的情况下执行此操作,我的页面 url 会显示为:
www.mysite.com/?search=something&page=2
但是,从和 ajax 查询它不起作用,搜索变量不会附加到分页器链接中的 url。请帮忙。
我假设您在网站的某个地方有分页链接,这些链接指向在您的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
也许您需要更改 url 字段。只需提醒 url 字段并查看需要更改的内容。
这是一个教程(没有搜索):Zend Framework 1.9 tutorial 14: ajax requests part 1
如果没有看到您的代码,我无法确定,但听起来您的分页器控件视图脚本(即.phtml
呈现您的下一个、上一个等链接的文件)正在使用,$this->url()
但您尚未将其配置为检测和附加搜索参数到链接的末尾。
<a>
如果您的控制视图脚本特定于该分页器,请尝试在标签的 href 参数中手动添加“?search=something” 。这应该迫使它在输出中包含这些。
如果您可以向我们提供来自您的控制器和视图的代码,展示您如何实现分页器和渲染页面,那就太好了。或者现场演示总是好的:D