我目前正在查看http://www.dajaxproject.com/pagination/上的Dajax示例,当我执行随机数示例和简单表单示例时,我可以看到:
[20 / Jul / 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 :(得分:0)
您是否完全按原样使用示例中的代码,还是已添加到代码中?如果有,发布代码可能有所帮助。我认为你有一个必需的javascript框架(jQuery,mootools等) - 一个Dajax要求。
你在ajax.py中导入了Dajax吗?这个例子没有它,但我认为这是必需的:
from dajax.core import Dajax
因为该示例使用Dajax()
还有一些已安装的应用程序settings.py要求dajaxice和dajax - 在文档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
我一直在通过JS函数调用Dajax,因此模板调用方法对我来说是未开发的领域。听起来你的onclick电话有类似的成功。没有考虑过不推荐的模板调用程序的可能性 - 可能是一个过时的例子。
我还注意到示例'pagination_page.html'的标题写为'paginator_page' - 如果标题用作模板名称,则会出现明显的问题。当我能够时,我会举一个例子。
好的 - 冒着荒谬的风险 - 新更新。在vanilla示例没有之后,我得到了一个稍微修改过的示例。
需要
from dajax.core import Dajax
在ajax.py中,该示例没有。直到我使用RequestContext作为基本视图 - la:
之后,它才起作用def pagination_example(request):
items = get_pagination_page(1)
return render_to_response('paginator_example.html',{'items':items},context_instance=RequestContext(request))
然后它按预期工作。
答案 1 :(得分:0)
需要使用onclick按钮,onchange选项或使用js调用ajax任务。
对于这个dajax分页示例,它需要首先使用Django的Paginator将数据填充到HTML模板中,一旦完成,您就可以选择单击“上一个”或“下一个”按钮,将触发dajax任务。
如果您的数据在开头是空的,则根本不会看到“上一个”和“下一个”按钮。