0

我目前正在浏览http://www.dajaxproject.com/pagination/上的 Dajax 示例,当我执行随机数示例和简单表单示例时,我可以看到:

[2012 年 7 月 20 日 15:06:37]“POST /dajaxice/couch.randomize/HTTP/1.1”200 61

[2012 年 7 月 20 日 15:06:38]“POST /dajaxice/couch.updatecombo/HTTP/1.1”200 438

这些信息告诉我正在执行相应的 ajax 任务。现在我正在尝试做分页示例,但我不知道如何触发我的 ajax,没有 onclick 或 onchange 事件,它应该在我提供页面时直接加载。

当我使用一个按钮(onclick 事件)来调用我的分页时,它起作用了。

我在这里想念什么?谢谢。

4

2 回答 2

0

您是完全按原样使用示例中的代码,还是添加了代码?如果有,发布代码可能会有所帮助。我假设你有一个所需的 javascript 框架(jQuery、mootools 等)——这是 Dajax 的要求。

你在 ajax.py 中导入了 Dajax 吗?该示例没有它,但我认为它是必需的:

from dajax.core import Dajax

如示例使用 Dajax()

dajaxice 和 dajax 也有一些已安装的应用程序 settings.py 要求 - 在文档https://github.com/jorgebastida/django-dajaxice/wiki/installation中描述

您可能还想为 Dajax 打开一些日志记录 - 请参阅Dajax 安装示例,如果您还没有,请使用 debug=True 运行一段时间。


更新:

@Nicholas TJ - 注意到您通过备用电话对设置和成功的评论。我确实注意到了另一个问题,这里的分页示例存在问题,关于如何从模板调用 Dajax 进程。

如何从我的 Django 模板中调用 Dajax / Dajaxice 函数

我一直在通过 JS 函数调用 Dajax,所以模板调用方法对我来说是一个未开发的领域。听起来您的 onclick 调用也取得了类似的成功。尚未研究过弃用模板调用程序的可能性 - 可能是一个过时的例子。

我还注意到示例 'pagination_page.html' 的标题写为 'paginator_page' - 如果将标题用作模板名称,则会出现明显的问题。当我有能力的时候,我会给这个例子一个镜头。

好的-冒着荒谬的风险-新的更新。在香草示例没有之后,我得到了一个稍微修改的示例。

这个需要

from dajax.core import Dajax

在示例中没有的 ajax.py 中。在我为基本视图使用 RequestContext 之前,它也没有工作 - a la:

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

然后它按预期工作。

于 2012-07-23T02:44:20.573 回答
0

需要使用 onclick 按钮、onchange 选项或 js 调用 ajax 任务。

对于这个 dajax 分页示例,它需要首先使用 Django 的 Paginator 将数据填充到 HTML 模板中,一旦完成,您将可以选择单击“上一个”或“下一个”按钮,这将触发达贾克斯任务。

如果您的数据一开始是空的,您将根本看不到“上一个”和“下一个”按钮。

于 2012-07-25T07:05:07.237 回答