这是我想用AJAX完成的。我之前从未使用过AJAX,所以我甚至不确定我要完成的是正确使用。我正在尝试加快网站用户删除收件箱中累积的某些邮件的速度。在我的网站的早期版本中,每次删除邮件时页面都必须刷新,这可能会非常慢。为了解决这个问题,我决定在用户按下“删除”按钮时不是触发表单,而是在客户端设置jquery来擦除消息html,然后发送一个异步POST请求告诉服务器删除来自数据库。
$(document).ready( function() {
$(".deleteButton").click(function() {
var id = $(this).attr('id');
$("tr#"+id).slideUp("fast");
$.ajax({type: "post",
url: "/message",
data: {"delete_mes": id}});
});
});
这几乎可行。每当我点击删除时,消息消失,当我重新加载页面时它仍然消失,表明服务器已成功删除该消息。但是,当我在重新加载页面之前删除多条消息时,所有消息都会重新出现。
希望有更多ajax经验的人知道什么是错的。我的服务器设置了Google App Engine。谢谢!
答案 0 :(得分:0)
首先:您不应该在页面上使用相同的ID。
我为您找到了解决方案,请查看jsFiddle。
$(document).ready( function() {
$(".deleteButton").click(function() {
var parent = $(this).parent('tr');
var id = parent.attr('id');
parent.slideUp("fast");
// your ajax
});
});