【发布时间】:2012-07-20 14:03:50
【问题描述】:
我已经构建了一个可以运行的应用程序,并使用表单提交数据。提交后,视图会重定向回来以显示更改。凉爽的。 Django 101。现在,我不使用表单,而是使用 Ajax 通过 POST 调用提交数据。这样就成功地将数据保存到数据库中。
现在,困难的部分(或者可能不是,只是很难找到)是是否可以告诉 Django 将已提交的新项目(通过 Ajax)添加到当前页面,而无需刷新页面。目前,我的应用程序保存数据,刷新后该项目显示在页面上,但这显然不是必需的结果。
如果可能的话,我想使用与我目前使用的完全相同的视图和模板 - 基本上我想知道是否有办法将正常的 HTTP 请求(导致页面刷新)替换为Ajax 调用,并获得相同的结果(使用 jQuery)。我今天大部分时间都在解决这个问题,所以在我拔掉我所有的头发之前,任何帮助都将不胜感激。
【问题讨论】:
-
您可以将正文替换为
$('body').load(...)。但是,我认为您应该返回 JSON 响应并更新真正发生变化的内容。如果必须刷新整个页面,为什么还需要 AJAX? -
这是我遇到的问题之一 - 我的 POST 调用返回的数据不是 json,并且添加
json作为文件类型导致没有返回任何内容..