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