0

我已经尝试了各种安装 Dajaxice 的方法来测试它,但无论如何,我似乎可以适当地提供所有 JS 文件,但似乎永远无法真正调用 ajax.py 中的函数。具体来说,在我的模板中,我有一个按钮

onclick="Dajaxice.dajaxtest.exampleapp.sayhello(my_js_callback);"

但我总是得到(在 Chrome 的开发者控制台中)

Uncaught TypeError: Cannot read property 'exampleapp' of undefined

在这种特殊情况下,它是“exampleapp”,但是根据其他建议,我尝试了很多不同的参考。似乎我的索引页面上的 Dajaxice 对象根本没有任何预期的属性,它没有“myprojectname”(dajaxtest),也没有“myappname”(exampleapp),也没有简单的“myfunction”。

顺便说一句,安装 Dajaxice 的文档没有提到包括

from dajax.core import Dajax

在 ajax.py 中,但另一个答案确实如此,所以我尝试了它无济于事。

如果您有兴趣,我正在尝试制作的确切代码库已压缩并在此处提供:https ://docs.google.com/file/d/0B16ANo4rID0PZld5V0p0enlRdUU/edit (Dajax/Dajax ice 安装通过pip install django-dajax但真的,我的问题的一个完美答案是,如果你已经启动并运行了 Dajaxice,你到底是如何安装它的,有详细的步骤,因为官方文档似乎不是很实用。

4

2 回答 2

1

我完全按照文档所说的做了,而且效果很好(尽管我只是真正让示例问题正常工作)。

我注意到的几件事:

1)您不必导入 Dajax 来让 Dajaxice 工作(因为前者位于后者之上)。

2)我认为你的按钮 onclick 应该是onclick="Dajaxice.exampleapp.sayhello(my_js_callback);"

3)您需要添加urlpatterns += staticfiles_urlpatterns()到 urls.py 的底部

我希望这有帮助!

于 2013-02-04T12:12:32.183 回答
0

我想您还没有在 INSTALLED_APPS 中的项目 settings.py 中添加 appname。像这样:

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'dajaxice',
    'simple',
)
于 2014-12-24T02:33:23.033 回答