2011-04-12 44 views
3

我在這裏使用Zend Paginator,在一個ajax請求中,我根據搜索結果檢索對象並呈現HTML並將它與一個呈現的Zend Paginator視圖一起傳遞。在ajax請求中返回一個zend paginator對象,得到錯誤的url

的問題是,返回分頁程序沒有考慮到新的URL。例如,如果我是這樣做沒有Ajax我有我的頁面網址閱讀:

www.mysite.com/?search=something &頁= 2

但是從和Ajax查詢它不起作用這樣,搜索變量不會附加到分頁程序鏈接中的網址。請幫助。

+2

我們能看出你正在使用的代碼。 Zend Paginator與渲染頁面url沒有任何關係。 – satrun77 2011-04-19 12:44:12

回答

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 

也許你需要更改URL字段。只需提醒url字段並查看需要更改的內容。

這裏是一個教程(不含搜索):Zend Framework 1.9 tutorial 14: ajax requests part 1

+0

其實我的問題是不是在關於AJAX的分頁程序,但由Zend的分頁程序對象建立德HTML。看來,zend paginator以當前URL爲基礎來構建鏈接。但是,在ajax查詢中,當前URL可能不一定是需要在此構建的實際url。 – Ali 2011-04-12 09:57:29

+0

我不確定你的問題在哪裏。在你的問題中,你說ajax部分不起作用。非Ajax分頁工作到目前爲止? – 2011-04-12 10:07:40

0

沒有看到你的代碼,我不能肯定,但它聽起來像是你的分頁程序控件視圖腳本(即.phtml文件,這使你的下一個,上一頁等環節)使用$this->url()但您還沒有配置它來檢測和搜索參數追加到鏈接的末尾。

如果你控制視圖腳本是特定於該分頁程序,嘗試手動添加在您的<a>標記的href參數「?搜索=東西」。這應該強制它將這些包括在輸出中。

這將是巨大的,如果你能向我們提供您的控制器和視圖展示你是如何實現分頁程序和渲染網頁的代碼。或實時演示總是好的:d

+1

這更多的則是一個猜測,我認爲:d的OP宜業。提供一些代碼... – 2011-04-21 05:39:53

相關問題