【发布时间】:2016-02-11 14:39:29
【问题描述】:
我正在使用 C# Web Api 和 AngularJs。如果我添加
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule" />
</modules>
删除请求可以从提琴手工作,但是当从 angularJs 调用它时,我收到一个错误,即选项未定义。默认情况下,选项调用由 angular 完成。
如果我不在HttpDelete上方添加代码表单,则不起作用。我得到了一个响应标头,例如:
Allow: GET, HEAD, OPTIONS, TRACE
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
我正在使用 $resource 从 AngularJS 调用 web api。移除了 webDavModule 的 web api 中的 web.config 如下所示:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule"/>
</modules>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="TRACEVerbHandler" />
<remove name="WebDAV"/>
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="X-Requested-With, accept, content-type" />
<add name="Access-Control-Allow-Methods" value="GET, POST, PUT, DELETE, OPTIONS" />
</customHeaders>
</httpProtocol>
</system.webServer>
google chrome 上的请求如下:this
你知道我为什么会遇到这个问题吗?
【问题讨论】:
标签: c# angularjs asp.net-web-api