2009-11-19 38 views
18

我想通過使用JavaScript在asp.net MVC中傳遞DELETE到一個URL,但是我總是得到405 Method not allow返回。ASP.NET MVC在HTTP DELETE請求上收到405錯誤?

有無論如何使這項工作?

僅供參考:我已將[AcceptVerb(HttpVerb.Delete)]屬性放在我的控制器上。

DELETE /post/delete/8 

這是請求

+0

u能告訴我們通過提琴手或螢火一些請求數據,這樣我們就可以翻一番證實了越來越* *要求? – 2009-11-19 03:02:05

+0

我已經通過Firebug添加了請求,那是一個請求,沒有數據,因爲我仍在測試... – DucDigital 2009-11-19 11:04:26

回答

41

這令我很沮喪。這是因爲WebDAVModule默認安裝在IIS 7.5上。通過刪除模塊,您可以擺脫這種令人沮喪的限制。簡單地說,

<system.webServer> 
    <validation validateIntegratedModeConfiguration="false"/> 
    <modules runAllManagedModulesForAllRequests="true"> 
      <remove name="WebDAVModule"/> <- add this 

http://shouldersofgiants.co.uk/Blog/post/2009/11/27/HTTP-Error-405-With-ASPNet-MVC-and-HTTP-PUT-on-IIS-75.aspx

+0

非常好,這對我也有幫助。它可能只是一個MVC.NET 3的東西,因爲我不記得它發生在MVC.NET 2中。 – Dofs 2011-05-24 14:04:49

+1

適用於PUT請求!謝謝! – 2011-06-28 08:40:07

+1

真棒!!!!!爲我們的PUT問題努力工作=)...很高興你發佈了這個! – afreeland 2013-04-04 19:58:03

0

你應該檢查web.config(如果使用IIS7,否則IIS管理器IIS6及以下),以確保DELETE動詞映射到MCV的請求處理程序。

+0

- >你的意思是? – DucDigital 2009-11-19 11:06:14

相關問題