在 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 禁用条目即可

posted on 2023-05-23 15:10  芝麻的西瓜  阅读(62)  评论(0编辑  收藏  举报