2013-02-26 10 views
44

Poniżej jest moja prośba Ajax na życzenie DELETE:Jak przekazać dane w ajax DELETE wniosek innego niż nagłówków

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

Czy istnieje alternatywny sposób przekazać dane inne niż w headers?

Odpowiedz

77

Przeczytaj ten problem BŁĄD: http://bugs.jquery.com/ticket/11586

Cytując RFC 2616 Fielding

The DELETE żądania metody, które serwer pochodzenie usunąć zasób zidentyfikowany przez Request-URI.

Więc trzeba przekazać dane w URI

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

Aby wysłać dane za pomocą polecenia USUŃ przed wersją 1.7.2 jquery? – user568109

+0

@ user568109 Właśnie sprawdziłem różne wersje jQuery i wydaje się, że żadna wersja nie obsługuje go .. (* próbowałem do wersji 1.3.2 *) –

+2

@ user568109, ale szczerze mówiąc, nie jestem pewien, czy jquery je obcina lub przeglądarka .. –

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

Uwaga: korzystanie z headers został wprowadzony w JQuery 1.5 .:

Mapa dodatkowych par klucz header/wartość wysłać wraz z wnioskiem. To ustawienie jest ustawione przed wywołaniem funkcji beforeSend; dlatego wszelkie wartości w ustawieniach nagłówków mogą zostać nadpisane z funkcji beforeSend.

+0

Dzięki za odpowiedź, co jest standardowym sposobem robi? nagłówki lub dane? – Prats

+22

'dane' nie będzie działało dla' DELETE'. –

Powiązane problemy