我目前正在设置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
注意IIS7中的Allow标头,它只允许GET HEAD OPTIONS和TRACE。我目前在我的删除控制器中使用[AcceptVerbs(HttpVerbs.Delete)](我认为这个是由MVCContrib扩展的,如果我错了,请纠正我)
PS:我使用Javascript发送DELETE:
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');
提前感谢你!