Перехват вызова jQuery.ajax () с помощью метода verify () - PullRequest
21 голосов
/ 17 июня 2011

У меня есть вызов ajax, связанный со ссылкой через jQuery, и я хочу, чтобы он был перехвачен диалоговым окном подтверждения. Но вызов ajax срабатывает независимо от того, какая опция выбрана (даже если пользователь просто закрывает диалог).

Есть ли способ заставить работать подтверждение так же, как в синхронном контексте?

HTML:

<a href="#" class="removeItem delete">remove</a>

JQuery:

$('.delete').click(function () {
    confirm('Are you sure you want to delete this?');
});


$('.removeItem').click(function (event) {
    event.preventDefault();

    $.ajax({
        url: 'myUrl',
        type: "POST",
        data: {
            // data stuff here
        },
        success: function () {
            // does some stuff here...
        }
    });
});

1 Ответ

87 голосов
/ 17 июня 2011
$('.removeItem').click(function (event) {
    if (confirm('Are you sure you want to delete this?')) {
        $.ajax({
            url: 'myUrl',
            type: "POST",
            data: {
                // data stuff here
            },
            success: function () {
                // does some stuff here...
            }
        });
    }
});
...