2012-07-20 20 views
0

目前,我翻翻Dajax實例上http://www.dajaxproject.com/pagination/,當我執行隨機數例和形式簡單例子,我可以看到:Dajax分頁無法被觸發

[20 /七月/ 2012 15 :06:37]「POST /dajaxice/couch.randomize/ HTTP/1.1」200 61

[20/Jul/2012 15:06:38]「POST /dajaxice/couch.updatecombo/ HTTP/1.1」200 438

這些信息告訴我相應的ajax任務正在執行。現在我正在嘗試做分頁示例,但我不知道如何觸發我的ajax,沒有onclick或onchange事件,它應該在我服務頁面時直接加載。

當我使用按鈕(onclick事件)來調用我的分頁時,它工作。

我在這裏錯過了什麼?謝謝。

回答

0

您是否完全按照原樣使用了示例中的代碼,或者是否已將其添加到該示例中?如果你有,發佈代碼可能會有所幫助。我認爲你有一個必需的javascript框架(jQuery,mootools等) - 一個Dajax要求。

你是否在你的ajax.py中導入了Dajax?這個例子沒有它,但我相信這是必需的:

from dajax.core import Dajax 

作爲示例使用Dajax()

也有一些安裝的應用程序的settings.py爲dajaxice和dajax需求 - 在描述docs https://github.com/jorgebastida/django-dajaxice/wiki/installation

您可能還想打開Dajax的某些日誌記錄 - 有關示例,請參閱Dajax installation,如果您尚未運行,請使用debug = True一段時間。


更新:

@Nicholas TJ - 您對設置&成功通過備選調用指出的評論。我在這裏注意到另一個問題,那就是分頁示例有問題,關於如何從模板中調用Dajax過程。

How do I call Dajax/Dajaxice functions from my Django template

我一直稱Dajax通過JS的功能,所以模板調用方法是處女地我。聽起來就像你的onclick調用有類似的成功。還沒有研究過時的模板調用過程的可能性 - 可能是過時的例子。

我還注意到,示例'pagination_page.html'的標題寫爲'paginator_page' - 如果標題被用作模板名稱,將會有明顯的問題。當我能夠的時候,我會舉一個例子。

好的 - 冒着荒唐的風險 - 新的更新。在香草的例子沒有做過之後,我稍微修改了一些例子。

它需要

from dajax.core import Dajax 
在ajax.py

,其中例如沒有。它也沒有工作,直到我使用RequestContext的基本視圖 - 一個:

def pagination_example(request): 
items = get_pagination_page(1) 
return render_to_response('paginator_example.html',{'items':items},context_instance=RequestContext(request)) 

然後它按預期工作。

+0

感謝您的建議,但我想我們可以跳過這種可能性,我的設置有問題。這是由於我在使用按鈕來調用分頁時成功調用了分頁。我會更新我的問題以避免混淆。您是否嘗試過分頁示例並使其運行?如果是這樣,我可以參考你的代碼。謝謝。 – 2012-07-23 09:26:35

0

ajax任務需要用onclick按鈕,onchange選項或js來調用。

對於這個dajax分頁示例,首先需要使用來自Django的Paginator將數據填充到HTML模板中,一旦完成,就可以選擇點擊'上一個'或'下一個'按鈕,這將觸發dajax任務。

如果您的數據一開始是空的,您將不會看到「上一個」和「下一個」按鈕。