web-dev-qa-db-fra.com

Interception d'un appel jQuery.ajax () avec confirm ()

J'ai un appel ajax lié à un lien via jQuery, et je veux qu'il soit intercepté par une boîte de dialogue de confirmation. Mais l'appel ajax se déclenche quelle que soit l'option sélectionnée (même si l'utilisateur ferme simplement la boîte de dialogue).

Existe-t-il un moyen de faire fonctionner la confirmation comme dans les contextes synchrones?

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...
        }
    });
});
22
Faust
$('.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...
            }
        });
    }
});
94
Грозный