asp.net web api 跨域访问 OPTIONS 405

新创建的 asp.net mvc web api 项目后直接部署到 IIS 中,然后通过另外域名 Ajax 跨域名调用一个POST接口,并且请求头headers中增加 Content-Type:application/json,根据阮一峰的文章跨域资源共享 CORS 详解可知道这个非简单请求会先通过OPTIONS来验证服务器是否支持,问题就出来在这里,OPTIONS请求一直不成功,报405错误,经过不断尝试发现是 web api 建完项目后默认的Web.config里有这个一个配置:

<remove name="OPTIONSVerbHandler" />

只要把这个配置去掉,OPTIONS就可以正常,然后继续后面的POST请求了。

我的问题是微软为什么会默认加上这个配置,有什么用,真是无比深的一个坑!

<remove name="OPTIONSVerbHandler" />

如图:

 

参考链接:

options请求(跨域预检)

 

 

 ASP.NET Web API 跨域访问(CORS)要注意的地方

跨域资源共享 CORS 详解

Enable cross-origin requests in ASP.NET Web API 2

posted @   古道轻风  阅读(512)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 2分钟学会 DeepSeek API,竟然比官方更好用!
· .NET 使用 DeepSeek R1 开发智能 AI 客户端
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· c# 半导体/led行业 晶圆片WaferMap实现 map图实现入门篇
点击右上角即可分享
微信分享提示