Ajax调用成功,第二次ajax调用发送两次

时间:2015-07-18 14:31:02

标签: javascript jquery ajax

通过AJAX调用,我将textarea的值发布到我的数据库。第一篇文章总是正确的。但是在我尝试发布另一篇帖子后,AJAX调用执行了两次。如果我在此之后再次发布,则AJAX调用将执行4次。它呈指数级增长。

这是我的代码:

$(".comment-box").on("keydown", function(e) {
    e = e || event;
    if (e.keyCode === 13 && !e.shiftKey) {
        var message = $(".comment-box").val();
        var id = $(".comment-box").attr("data-id");

        $.ajax({
            type: "post",
            url: "../assets/js/ajax/comment-to-screen.php",
            data: { 
                'message': message, 
                'id': id 
            },
            success: function (data) {
                $(".comment-box").val('');
                $(".all-comments").append(data);
                init();
                return false;
            }
        });

        e.preventDefault();
    }
});

这包含在init()函数

$(document).ready(function() {
    init();

    function init () {
        // Here is the code to post with ajax
    }
});

1 个答案:

答案 0 :(得分:2)

在每个成功的帖子回调中,都会调用init。然后,Init将另一个处理程序附加到文本框中。

下次按Enter键时,两个事件处理程序将触发...等等

我认为你可以从成功处理程序中删除init调用