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