asp.net web api 跨域訪問 OPTIONS 405
阿新 • • 發佈:2022-05-19
新建立的 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" />
如圖:
參考連結: