很抱歉标题不稳定,很难描述这个问题。另外,很抱歉,如果这是重复的,则很难搜索。
我正在尝试使用 JQuery 在按下按钮时实现一个相对简单的 AJAX 调用。我的目标是有一个按钮,上面写着“添加到列表”或“从列表中删除”,当按下时,对服务器进行 AJAX 调用,从列表中适当地添加/删除项目。成功后,按钮将被 JQuery 更改以反映后端的更改(因此从添加到 -> 删除,反之亦然)。
即使用户没有启用 Javascript(这是个好主意,对吗?),我也希望它能够工作,所以我的按钮位于标准 html 表单中,该表单可以进行 POST 调用,执行 DB 内容,然后重定向用户访问他们刚刚访问的网页。我用 JQuery 覆盖了这个默认行为。
为了在用户第一次加载页面时显示正确的按钮类型,以及当他们在启用 Javascript 的情况下执行标准 POST 调用时,我使用 Django 的模板系统在表单中显示正确的按钮/隐藏值。
这一切都很好,很好......在大多数情况下。我遇到的问题是当用户使用 Javascript 单击按钮,然后转到另一个页面,然后使用页面后退按钮返回页面时,更改不会保留。也就是说,按钮显示为 Django 在第一个页面加载时呈现的。如果用户重新加载页面,则此问题已修复。
当然,这会让用户感到非常困惑,因为按钮不能正确反映数据库的状态。我怎样才能解决这个问题?