在IIS7 上啟用跨域資源共享(CORS)
在IIS7 上啟用CORS 可能是一項艱鉅的任務,尤其是當您遇到意外情況時行為,例如200 回應之前的405 回應。本文旨在闡明這個問題並提供有效的解決方案。
解決 405 回應
當 IIS7 攔截 HTTP OPTIONS 時,可能會出現 405 Method Not allowed 回應請求而不是您的應用程式。若要解決此問題:
替代解決方案:處理BeginRequest 中的OPTIONS 動詞
如果上述步驟無法解決問題,您可以在BeginRequest 方法中處理HTTPTIONS OPTION如下圖所示:
protected void Application_BeginRequest(object sender, EventArgs e) { HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*"); if (HttpContext.Current.Request.HttpMethod == "OPTIONS") { // Pre-flight OPTIONS call HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE"); HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept"); HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000"); HttpContext.Current.Response.End(); } }
以上是為什麼在 IIS7 上啟用 CORS 時收到 405 Method Not allowed 回應?的詳細內容。更多資訊請關注PHP中文網其他相關文章!