在 Options 被禁用的情况下,会间接导致出现 CORS 错误。见下方截图:
第二个请求是第一个的预检请求
第二个请求是 Options 请求
关于Options,更多内容,请自行搜索。
解决办法
第一种思路是避免发出 Options 类型的请求,是否需支持 Options 类型请求自行评估。PS:可能需要修改代码。
第二种思路是直接解决这个问题,这个问题可能有很多种原因导致,我遇到的是在服务器打补丁后 Options 被禁用了,有两种方式,见下方:
1)方法一:通过修改 web.config
<system.webServer> ... <security> <requestFiltering> <verbs> <!-- 避免被 IIS 的 Request Filtering 禁掉--> <remove verb="OPTIONS" /> </verbs> </requestFiltering> </security> </system.webServer>
2)方法二:通过 IIS Manager,删除 Options 禁用条目即可
如果对你有用,请点赞支持,你的支持,是我不断分享的动力。