2013-02-26 2 views
44

Unten ist meine Ajax-Anfrage für eine DELETE Anfrage:Wie passiert Daten in der Ajax-Request DELETE andere als Header

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

Gibt es eine alternative Möglichkeit, die Daten anders als in den headers passieren?

Antwort

77

diese Bug Ausgabe lesen: http://bugs.jquery.com/ticket/11586

die RFC 2616 Fielding

Die DELETE Methode Anfragen Zitiert, dass der Ursprungsserver die Ressource identifiziert durch den Anforderungs-URI löschen.

So müssen Sie die Daten in den URI

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

So können Sie Daten mit DELETE vor jquery 1.7.2 senden? – user568109

+0

@ user568109 Ich habe gerade verschiedene Versionen von jQuery überprüft und es scheint, dass keine Version es unterstützt .. (* Ich versuchte bis 1.3.2 *) –

+2

@ user568109 aber um ehrlich zu sein, ich bin mir nicht sicher, ob die Jquery schneidet sie ab oder der Browser .. –

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

Hinweis: Die Verwendung von headers wurde in JQuery eingeführt 1.5 .:

Eine Karte von zusätzlichen Header Schlüssel/Wert-Paaren mit der Anfrage zu senden zusammen. Diese Einstellung wird vor dem Aufruf der beforeSend-Funktion festgelegt. Daher können alle Werte in der Kopfzeileneinstellung von der Funktion vor dem Senden überschrieben werden.

+0

Danke für die Antwort passieren, was die übliche Weise zu tun? Header oder Daten? – Prats

+22

'Daten' funktionieren nicht für' DELETE'. –

Verwandte Themen