webapi 发布接口报405错误(angularjs2.0)

Posted 大稳·杨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webapi 发布接口报405错误(angularjs2.0)相关的知识,希望对你有一定的参考价值。

参考链接:http://www.cnblogs.com/shenbin/p/5680976.html

web访问接口报405错误,以前的jQuery访问方式访问接口没有问题。

但是换成angularjs2.0之后调用接口就报405错误,ajax调用没有问题。

查找资料之后找到解决方案:

原因是webapi 默认的web.config有配置
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<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-Methods" value="POST,GET" />
<add name="Access-Control-Allow-Headers" value="x-requested-with,content-type,authorization,mypara,username" />
</customHeaders>
</httpProtocol>

 

 

 

以上是关于webapi 发布接口报405错误(angularjs2.0)的主要内容,如果未能解决你的问题,请参考以下文章

WebAPI2 (OWIN) 上不允许使用 405 方法

来自 Angular 的 405

删除时出现 WebAPI 405 错误

WebApi 2.2 + Chrome = CORS 405 错误

使用 ajax 调用 webapi get 方法时出现 405 错误

Cors 中启用的所有标头,WebConfig 和 WebApiConfig 之间没有冲突,为啥我的 WebApi 返回 405 错误?