在 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中文网其他相关文章!