在IIS7 上啟用跨來源資源共享
為了允許非同步資源請求,需要在IIS7 上啟用跨來源資源共享(CORS)跨不同來源製作,克服瀏覽器安全限制。但是,當 IIS7 在成功的 200 回應之前傳回 405 Method Not Allowed 錯誤時,可能會出現問題。
解決405 Method Not allowed 錯誤
405 錯誤通常發生這種情況是因為IIS7 處理HTTP OPTIONS 回應,該回應先於實際請求,而不是將其轉發到您的應用程式。若要修正此問題:
透過這些更改,IIS7 將轉送 HTTP您的應用程式的 OPTIONS 動詞。
替代解決方案:在BeginRequest 中處理OPTIONS 動詞
或者,您可以在應用程式的BeginRequest 方法中手動處理HTTP OPTIONS 動詞:
<code class="c#">protected void Application_BeginRequest(object sender, EventArgs e) { HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*"); if (HttpContext.Current.Request.HttpMethod == "OPTIONS") { // Handle HTTP OPTIONS pre-flight request 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(); } }</code>
透過實作其中一種方法,您可以在IIS7 上啟用CORS 並解決405 錯誤,以確保跨來源請求成功。
以上是為什麼啟用 CORS 時 IIS7 回傳 405 Method Not allowed 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!