我有一个按钮,我想通过AJAX调用一个事件。此事件用于删除数据库记录,因此我希望更新内容而不删除值/行。我想也许我应该把我的代码放在.ajax调用的成功中,但我怀疑如何刷新内容?我是否需要第二次AJAX调用来获取没有删除值/行的新内容?
提前致谢
答案 0 :(得分:2)
您可以在同一个电话中使用它。在ajax调用指向的DELETE
脚本中,只需添加查询并使用json_encode()
发回数据。
然后,您只需更新页面的特定区域。
或者,如果您想要懒惰,在从ajax成功返回后,只需执行:
window.location.reload();
将刷新页面。
答案 1 :(得分:2)
如果您使用AJAX删除记录,则不需要重新加载所有页面内容(这是AJAX的目标)。在这种情况下,您必须使用JavaScript DOM元素删除来更改内容。
如果您使用带有某些ID的AJAX删除某些记录,则执行以下操作:
$("#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元素。
答案 2 :(得分:1)
在我看来,有哪些方法可以做到这一点。
1:使用数据库行中的唯一ID将行包装在容器中,然后使用该ID删除/隐藏刚刚从页面中删除的行。
2:正如您所提到的,您可以再次获取数据并进行打印,但这在性能方面效率不高。
/问候
答案 3 :(得分:1)
如果您使用的是ajax,那么为什么要刷新页面?我们使用ajax来避免页面刷新。如果你需要它,你可以尝试添加window.loaction.reload();你的ajax.success()函数中的函数。这是一个例子,以防对你有用http://www.amitpatil.me/ajax-table-adding-removing-rows-dynamically-using-javascript-animation/