我有一个按钮,我希望它通过 AJAX 调用一个事件。此事件用于删除数据库记录,因此我希望在没有删除值/行的情况下更新内容。我想也许我应该把我的代码放在成功的 .ajax 调用中,但我怀疑如何刷新内容?我是否需要第二次 AJAX 调用来获取没有删除值/行的新内容?
提前致谢
如果您使用的是ajax,那么为什么要刷新页面?我们使用 ajax 来避免页面刷新。如果你需要它,你可以尝试window.location.reload();
在你的 ajax.success() 函数中添加函数。这是一个示例,以防它对您有用http://www.amitpatil.me/ajax-table-adding-removing-rows-dynamically-using-javascript-animation/
您可以在同一个通话中使用它。在DELETE
ajax 调用指向的脚本中,只需添加查询并使用json_encode()
. 然后,您只需更新页面的特定区域。
或者,如果您想偷懒,在从 ajax 成功返回后,只需执行以下操作:
window.location.reload();
这将刷新页面。
如果您使用 AJAX 删除记录,则不需要重新加载所有页面内容(这是 AJAX 的目标)。在这种情况下,您必须通过移除 JavaScript DOM 元素来更改您的内容。
如果你用 AJAX 删除一些带有一些 id 的记录,你会执行如下操作:
$("#deleteBtn").click(function() {
// detect ID of the record (var id = ...)
// call AJAX with post(...) or ajax(...)
$("#id" + id).remove();
});
或者,如果您对 AJAX 结果执行remove()函数以提高安全性并仅在您的服务器端脚本确实已从数据库中删除记录时将其删除,则更好。
在我的示例中,假设您使用行(或其他 HTML 元素)的id属性来存储记录的 id,以便将来通过 $("#id" + id) 访问。您需要一些入口点来通过记录 id 找到您的 DOM 元素。
在我看来,有谁可以做到这一点。
1:使用数据库行中的唯一 ID 将您的行包装在一个容器中,然后使用该 ID 删除/隐藏您刚刚从页面中删除的行。
2:正如您所提到的,您可以再次获取数据并打印它,但这在性能方面不会非常有效。
/问候