Maison >interface Web >js tutoriel >Comment les demandes d'options de contrôle en amont permettent-elles l'accès HTTP inter-domaines aux services WCF ?
Lorsque vous tentez des requêtes HTTP inter-domaines vers les services WCF, il est essentiel de tenir compte des limitations CORS. Cet article explique comment contrôler en amont une requête HTTP à l'aide d'OPTIONS pour surmonter ces obstacles.
Avant d'envoyer une requête réelle, les navigateurs contrôlent en amont la requête à l'aide d'une requête OPTIONS pour déterminer si le serveur autorise la demande. Cette étape comprend l'envoi de deux en-têtes de requête spéciaux :
Pour répondre à ces demandes de contrôle en amont, le serveur doit répondre avec les en-têtes appropriés :
L'utilisation de jQuery.getJSON pour les requêtes GET nécessite contrôle en amont avec une requête OPTIONS. Cela peut être implémenté comme suit :
<code class="javascript">$.ajax({ url: "http://your.wcf.endpoint", type: "OPTIONS", success: function(data) { console.log("Preflight successful:", data); } }); $.getJSON("http://your.wcf.endpoint", function(data) { console.log("Actual GET request:", data); });</code>
Considérez une demande de contrôle en amont entrante avec les en-têtes suivants :
Origin: http://yourdomain.com Access-Control-Request-Method: POST Access-Control-Request-Headers: X-Custom-Header
Le serveur doit répondre avec :
Access-Control-Allow-Origin: http://yourdomain.com Access-Control-Allow-Methods: GET, POST Access-Control-Allow-Headers: X-Custom-Header
Les Access-Control-Request-Headers doivent être repris dans la réponse Access-Control-Allow-Headers, et le caractère générique '*' n'est pas autorisé.
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!