ASP.NET MVC在HTTP DELETE请求中出现了405错误?

20

我正在尝试使用JavaScript将DELETE传递到asp.net MVC中的URL,但是我始终收到405 Method not allow的错误返回。

是否有任何方法使其工作?

顺便说一句:我已经在我的控制器上放置了[AcceptVerb(HttpVerb.Delete)]属性。

DELETE /post/delete/8

这是请求


你能通过 Fiddler 或 FireBug 展示一些请求数据吗,这样我们就可以双重确认正在被请求的内容了吗? - Pure.Krome
我已经通过Firebug添加了请求,那个是请求,因为我还在测试,所以没有数据... - DucDigital
2个回答

42

太好了,这也帮助了我。可能只是MVC.NET 3的问题,因为我不记得在MVC.NET 2中发生过这种情况。 - Dofs
1
也适用于PUT请求!谢谢! - Lance Fisher
1
在我的情况下,我必须在删除WebDAV模块之前删除WebDAV处理程序映射中的PUT和DELETE动词(我猜只删除整个WebDAV handlerMapping也可以)。仅删除模块而不是映射,对我来说会导致通信异常... 我还必须在ExtensionlessUrlHandler-Integrated-4.0处理程序映射动词限制中添加PUT和DELETE动词。 - Charles HETIER
我可以证实Charles的评论,上面的答案对我没有用。我不得不按照Charles的指示去做。我想这是由于在2008 R2上安装IIS 7.5时所做的更改导致的。 - gravidThoughts

0

您应该检查 web.config 文件(如果使用 IIS7,则检查 IIS6 及以下版本的 IIS 管理器)以确保 DELETE 动词映射到 MCV 请求处理程序。


你是指这个吗?<add verb="*" path="*.mvc" validate="false" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> - DucDigital

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接