調用mvc的刪除方法,方法上面標註的請求方式為【HttpDelete】
ajax調用,type為“delete”
在本機調試,報錯404 方法找不到
於是在mvc項目的web.config修改配置如下:
<system.webServer> <validation validateIntegratedModeConfiguration="false" /> <modules runAllManagedModulesForAllRequests="true"> </modules> </system.webServer>
設定modules的屬性 runAllManagedModulesForAllRequests為true
本地再次調試發現好了
還有前端調用delete的方式,有人認為是:
jquery中的標準請求,只有get和post,而put和delete其實都是post請求,只是分別加了參數_method: put和method: delete, 所以在jquery中ajax delete請求時就可以使用$.post(url, {_method: "delete"}, function(data){...})。這個要比直接使用$.ajax({method: :delete})好的多,有兩個原因,1: 部分瀏覽器不支援{method: :delete}和{method: :post}2: 這個ajax請求無法處理返回的資料
具體還帶查證
於是信心滿滿將服務部署在伺服器上上,然而404確實不見了,405出現了
於是看到如下的解決方案:
IIS7.5上的REST服務的Put操作發生HTTP Error 405.0 - Method Not Allowed 解決方案
WebDAV 是超文字傳輸通訊協定 (HTTP) (HTTP) 的一組擴充,為 Internet 上電腦之間的編輯和檔案管理提供了標準.利用這個協議使用者可以通過Web進行遠端基本檔案操作,如拷貝、移動、刪除等。在IIS 7.0中,WebDAV是作為獨立擴充模組,需要單獨進行下載,而IIS 7.5中將整合WebDAV,然而WebDav把Put,Delete給哢嚓了。所以在IIS 7.5上部署的RESTful服務(WCF Data Service,WCF Rest Service,ASP.NET Web API,ASP.NET MVC)就悲劇了,當發送Put請求就會發生HTTP Error 405.0 – Method Not Allowed錯誤,解決方案也很簡單,在Web.config裡面加入如下設定:
<system.webServer> <modules> <remove name="WebDAVModule" /> </modules> <handlers> <remove name="WebDAV" /> </handlers> </system.webServer>
原文地址;http://www.cnblogs.com/shanyou/archive/2012/03/23/2414252.html
在IIS伺服器上的服務重新啟動,刪除操作的方法返回200,請求成功。