Maison >interface Web >js tutoriel >Comment activer le partage de ressources cross-origine (CORS) sur IIS7 ?
Activation du partage de ressources d'origine croisée (CORS) sur IIS7
Le partage de ressources d'origine croisée (CORS) permet aux applications Web de s'exécuter sur différentes origines pour se faire des requêtes HTTP. Cependant, par défaut, les requêtes XHR vers d'autres domaines ne sont pas autorisées.
Activation de CORS sur le domaine cible
Pour activer CORS sur le domaine cible, ajoutez la personnalisation suivante en-têtes au fichier web.config :
<code class="xml"><?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" / <add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" / <add name="Access-Control-Allow-Headers" value="Content-Type" / </customHeaders> </httpProtocol> </system.webServer> </configuration></code>
Configuration IIS7
Après avoir activé CORS sur le domaine cible, vous pouvez toujours rencontrer une réponse 405 Méthode non autorisée. Cela est probablement dû au fait qu'IIS7 gère la réponse HTTP OPTIONS au lieu de votre application.
Pour résoudre ce problème :
Vous pouvez également répondre aux OPTIONS HTTP dans le code
Vous pouvez également répondre au verbe HTTP OPTIONS dans votre méthode BeginRequest :
<code class="csharp"> 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(); } }</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!