2011-03-11 62 views
0

我有这个链接(如下所示)。当它被点击时,它会发送一个帖子的ID到一个名为delete_post.php的PHP文件中,该文件将删除我的MySQL数据库中包含该ID的帖子。这很有效,除了在帖子被删除之后,帖子仍然显示在页面上直到它被刷新。我怎么能这样做,所以只要我点击链接,而不是在点击链接和刷新页面之后,帖子就从我的页面中删除。使用php通过ajax和jquery删除MySQL数据,显示没有删除数据的页面

<a href="javascript:$.post('delete_post.php', { id: '$row[id]' });" class='delete_post' title='delete post'>delete post</a> 

回答

2
  1. 添加ID(使用$row['id'])到被牵着你的岗位DIV /表行(容器)。
  2. 经过AJAX is completed后,您只需hide容器。

要隐藏的容器的AJAX完成后,只需加入这样一个回调函数修改$.post

javascript:$.post('delete_post.php', { id: '$row[id]' } , function(){ $('#row$row[id]').hide(); }); 
+0

优秀!那样做了。 – 2011-03-11 02:30:29

+1

如果你不需要再次访问该元素,你应该完全使用.remove()$('#row $ row [id]')从dom中删除它。hide(0,function(){$(this ).remove()} – Trevor 2011-03-12 15:11:54

-1

还有就是后()函数,可以让你的第三个可选参数创建一个成功执行的匿名函数。

<a href="javascript:$.post('delete_post.php', { id: '$row[id]' }, function() { location.reload(); });" class='delete_post' title='delete post'>delete post</a> 
+0

用ajax做这件事的全部原因是,我不必重新加载整个页面。感谢您的帮助:) – 2011-03-11 02:14:07

+0

重新加载页面?这不是阿贾克斯的事情。 – renathy 2013-05-20 08:03:03

0

我不familar与jQuery代码(我能做到这一点的原型,如果你想要一个例子),但是,你应该重视听众的链接,而不是调用AJAX在线。这样,您可以使用jQuery's DOM traversal functions向上移动到父div或表格行,并且在您从AJAX调用中获得成功响应后,只需.remove()即可。