Как передавать данные в запросе ajax DELETE, отличном от заголовков

Ниже мой запрос Ajax для запроса DELETE:

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

Есть ли альтернативный способ передачи данных, кроме как в headers?

Ответ 1

Прочтите эту ошибку: http://bugs.jquery.com/ticket/11586

Цитирование RFC 2616 Fielding

Метод DELETE запрашивает, чтобы исходный сервер удалял ресурс , идентифицированный Request-URI.

Итак, вам нужно передать данные в URI

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

Ответ 2

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

Примечание: использование headers было введено в JQuery 1.5.:

Карта дополнительных пар ключ/значение заголовка для отправки вместе с запросом. Этот параметр устанавливается до вызова функции beforeSend; поэтому любые значения в настройках заголовков могут быть перезаписаны из функции beforeSend.