aspnet webapi 跨域请求 405错误

本文详细解析跨域请求中预请求(OPTIONS)失败的原因及解决方案,指出web.config配置不当可能导致的问题,并提供正确的配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

跨域,请求按要求配置完毕之后,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配置的问题。

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

 

转载于:https://www.cnblogs.com/shenbin/p/5680976.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值