Hoe gegevens in het ajax DELETE-verzoek anders dan headers door te geven

Hieronder staat mijn Ajax-verzoek voor een DELETE-verzoek:

deleteRequest: function (url, Id, bolDeleteReq, callback, errorCallback) {
    $.ajax({
        url: urlCall,
        type: 'DELETE',
        headers: {"Id": Id, "bolDeleteReq" : bolDeleteReq},
        success: callback || $.noop,
        error: errorCallback || $.noop
    });
}

Is er een andere manier om de gegevens door te geven dan in de headers?


Antwoord 1, autoriteit 100%

Lees dit probleem met bugs: http://bugs.jquery.com/ticket/11586

De RFC 2616 Fieldingciteren

De DELETE-methode vraagt ​​de oorspronkelijke server om de resource geïdentificeerd door de Request-URIte verwijderen.

Dus u moet de gegevens in de URI doorgeven

$.ajax({
    url: urlCall + '?' + $.param({"Id": Id, "bolDeleteReq" : bolDeleteReq}),
    type: 'DELETE',
    success: callback || $.noop,
    error: errorCallback || $.noop
});

Antwoord 2

Ik heb het data-attribuut met succes kunnen passeren in de ajax-methode. Hier is mijn code

$.ajax({
     url: "/api/Gigs/Cancel",
     type: "DELETE",
     data: {
             "GigId": link.attr('data-gig-id')
           }
  })

De link.attrmethode retourneerde eenvoudig de waarde van ‘data-gig-id’.


Antwoord 3

deleteRequest: function (url, Id, bolDeleteReq, callback, errorCallback) {
    $.ajax({
        url: urlCall,
        type: 'DELETE',
        data: {"Id": Id, "bolDeleteReq" : bolDeleteReq},
        success: callback || $.noop,
        error: errorCallback || $.noop
    });
}

Opmerking: het gebruik van headersis geïntroduceerd in JQuery 1.5.:

Een kaart van extra kop-sleutel/waarde-paren om mee te sturen met het verzoek. Deze instelling wordt ingesteld voordat de functie beforeSend wordt aangeroepen; daarom kunnen alle waarden in de headers-instelling worden overschreven vanuit de beforeSend-functie.

Other episodes