Почему ajax-запросы запускаются несколько раз? - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть форма внутри модального окна, которая либо сохраняет заметку при нажатии одной кнопки, либо удаляет ее при нажатии другой.Элементы сохраняются / удаляются, но количество запросов увеличивается с каждым кликом.Я получаю 4 одинаковых запроса и т.д. Как мне это остановить.я должен что-то отвязать?

$('#modal').on('show.bs.modal', function (e) {
    var origin = $(e.relatedTarget);
    var memoId = origin.attr('data-id');        

    $('#modal').click(function(event){
        if($(event.target).hasClass('memo-save')) {

            event.preventDefault();

            var memoText = $(event.target).parent().parent().find('textarea').val();

            var memo = {
                memo: memoText,
                id: memoId
            }

            $.ajax({
                type: "POST",
                url: '/memos/add-memo?memo=' +memo+'&id=' + memoId,
                data: memo,
                success: function (result) {
                    $(event.target).toggleClass('active').html('Memo Saved');
                }
            });


        } else if($(event.target).hasClass('memo-delete')) {

            event.preventDefault();

            var memoText = "";

            var memo = {
                id: memoId
            }

            $.ajax({
                type: "POST",
                url: '/memos/remove-memo?id=' + itemId,
                data: memo,
                success: function (result) {
                    $(event.target).toggleClass('active').html('Memo Deleted');
                }
            });
        }


    });
});

1 Ответ

0 голосов
/ 10 февраля 2019

вы можете переместить $('#modal').click за пределы $('#modal').on('show.bs.modal' таким образом, что он не будет повторно добавлять слушателя каждый раз, когда отображается модальное значение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...