aspnet webapi 跨域请求 405错误

 

 

跨域,请求按要求配置完毕之后,options预请求老是报错。原因是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>

--------------------------------------------------------

这个问题整了我好久。遇到问题关键还是要有思路。对于数据的常用的有二分法,对于配置问题,可以用对比法。

这个问题我一开始就是拼命的百度,google,发现都解决不了问题。其实看的差不多就行了,很多时候是别的问题造成的。

然后就新建一个项目,调试,竟然发现成功了,后来一对比 就是web.config配置的问题。

现在仔细想想关键的还是处理问题思路。

 

posted @ 2016-07-18 14:00  shenbin23  阅读(6713)  评论(4编辑  收藏  举报