0

这是我试图用 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 设置的。谢谢!

4

1 回答 1

0

第一:您不应该在页面上多次使用相同的 id。

我已经为你做了一个解决方案,检查这个jsFiddle

$(document).ready( function() {
    $(".deleteButton").click(function() {
        var parent = $(this).parent('tr');
        var id = parent.attr('id');
        parent.slideUp("fast");
        // your ajax
    });
});
于 2013-03-13T18:27:08.673 回答