Rumah > Artikel > hujung hadapan web > Mengapa IIS7 Mengembalikan Ralat Kaedah 405 Tidak Dibenarkan Apabila Mendayakan CORS?
Mendayakan Perkongsian Sumber Silang Asal pada IIS7
Mendayakan Perkongsian Sumber Silang Asal (CORS) pada IIS7 adalah perlu untuk membenarkan permintaan sumber tak segerak untuk dibuat merentasi asal yang berbeza, mengatasi sekatan keselamatan penyemak imbas. Walau bagaimanapun, masalah boleh timbul apabila IIS7 mengembalikan ralat Kaedah 405 Tidak Dibenarkan sebelum respons 200 yang berjaya.
Menyelesaikan Ralat Tidak Dibenarkan Kaedah 405
Ralat 405 biasanya berlaku kerana IIS7 mengendalikan respons HTTP OPTIONS, yang mendahului permintaan sebenar, dan bukannya memajukannya ke aplikasi anda. Untuk membetulkan ini:
Dengan perubahan ini, IIS7 akan memajukan HTTP kata kerja OPTIONS untuk aplikasi anda.
Penyelesaian Alternatif: Mengendalikan Kata Kerja OPTIONS dalam BeginRequest
Sebagai alternatif, anda boleh mengendalikan kata kerja HTTP OPTIONS secara manual dalam kaedah BeginRequest aplikasi anda:
<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>
Dengan melaksanakan salah satu pendekatan ini, anda boleh mendayakan CORS pada IIS7 dan menyelesaikan ralat 405 untuk memastikan permintaan silang asal berjaya.
Atas ialah kandungan terperinci Mengapa IIS7 Mengembalikan Ralat Kaedah 405 Tidak Dibenarkan Apabila Mendayakan CORS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!