2009-11-19 16 views
18

Próbuję przekazać DELETE do adresu URL w asp.net MVC przy użyciu JavaScript, ale jednak zawsze otrzymałem zwrot 405 Method not allow.ASP.NET MVC ma błąd 405 na żądanie HTTP DELETE?

czy mimo to to działa?

FYI: Umieściłem atrybut [AcceptVerb(HttpVerb.Delete)] na moim kontrolerze.

DELETE /post/delete/8 

jest to prośba

+0

u może pokazać nam jakieś dane wniosku za pośrednictwem Skrzypek lub FireBug, dzięki czemu możemy podwoić potwierdzić to, co robi się * o *? –

+0

Dodałem żądanie poprzez Firebug, że jest to żądanie i nie ma danych, ponieważ wciąż testuję ... – DucDigital

Odpowiedz

41

To też było dla mnie frustrujące. Dzieje się tak dlatego, że WebDAVModule jest domyślnie instalowany w IIS 7.5. Usuwając moduł, możesz pozbyć się tego frustrującego ograniczenia. Wystarczy,

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

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

+0

Wspaniale, pomogło mi to również. To może być po prostu MVC.NET 3, ponieważ nie pamiętam, żeby to się stało w MVC.NET 2. – Dofs

+1

Działa również dla żądań PUT! Dzięki! –

+1

NIESAMOWITE !!!!! Pracowałem idealnie dla naszego problemu PUT =) ... więc cieszę się, że to napisałeś! – afreeland

0

Należy sprawdzić web.config (w przypadku korzystania z IIS7, inny kierownik IIS dla IIS6 i poniżej), aby upewnić się, że DELETE czasownik jest odwzorowany na żądanie obsługi MCV.

+0

-> masz na myśli to? – DucDigital

Powiązane problemy