MVC——ajax發送delete請求 報錯404,405

來源:互聯網
上載者:User

調用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,請求成功。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.