Как передавать данные в запросе 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.