В настоящее время я настраиваю asp.net для приема глагола DELETE http в приложении.
Тем не менее, когда я отправляю
"DELETE /posts/delete/1"
Я всегда получаю метод 405, не допускающий ошибки. Я попытался взглянуть на заголовок:
Response Headers
Cache-Control private
Pragma No-Cache
Allow GET, HEAD, OPTIONS, TRACE
Content-Type text/html; charset=utf-8
Server Microsoft-IIS/7.5, Private-Server
Date Tue, 17 Nov 2009 18:30:31 GMT
Content-Length 5590
Разрешить GET, HEAD, OPTIONS, TRACE
обратите внимание на заголовок Allow в IIS7, он разрешает только GET HEAD OPTIONS и TRACE. В настоящее время я использую [AcceptVerbs (HttpVerbs.Delete)] в моем контроллере удаления (я думаю, что этот расширен MVCContrib, поправьте меня, если я не прав)
PS: я отправляю УДАЛИТЬ используя Javascript:
function _ajax_request(url, data, callback, type, method) {
if (jQuery.isFunction(data)) {
callback = data;
data = {};
}
return jQuery.ajax({
type: method,
url: url,
data: data,
success: callback,
dataType: type
});
}
и
_ajax_request($(this).attr('href'), "", function(d) { alert("submit"); }, "json", 'DELETE');
Заранее спасибо!