Maison > développement back-end > Golang > Pourquoi mon application Firefox OS obtient-elle une erreur « Demande d'origine croisée bloquée » même avec CORS activé ?

Pourquoi mon application Firefox OS obtient-elle une erreur « Demande d'origine croisée bloquée » même avec CORS activé ?

Mary-Kate Olsen
Libérer: 2024-12-17 00:13:25
original
1030 Les gens l'ont consulté

Why Does My Firefox OS App Get a

Demande d'origine croisée bloquée en raison d'une restriction XMLHttpRequest

Question :

La tentative d'accès à un service RESTful POST à ​​partir d'une application Firefox OS entraîne un Erreur « Cross-Origin Request Blocked », même si le serveur principal a défini « Access-Control-Allow-Origin : *" dans ses en-têtes de réponse HTTP.

Solution :

Le problème réside dans le code JavaScript créant la requête XMLHttpRequest :

var request = new XMLHttpRequest();
Copier après la connexion

Pour effectuer des requêtes POST intersites dans une application Firefox OS, l'objet XMLHttpRequest doit être créé en mode privilégié, à l'aide de mozSystem :

var request = new XMLHttpRequest({mozSystem: true});
Copier après la connexion

Détails de mise en œuvre :

  1. mozSystem : Définir mozSystem sur true permet les connexions entre sites sans avoir besoin de configuration côté serveur CORS. Cependant, cela nécessite de définir mozAnon : true, ce qui empêche l'envoi de cookies ou d'autres informations d'identification utilisateur. Cette fonctionnalité n'est disponible que pour les applications privilégiées (examinées) et non pour les pages Web arbitraires.
  2. Mise à jour du manifeste : Pour accorder à votre application l'autorisation nécessaire, incluez la ligne suivante dans les « autorisations » de votre manifeste. section :
"permissions": {
       "systemXHR" : {},
}
Copier après la connexion

En implémentant ces modifications, votre application Firefox OS pourra envoyer des requêtes POST d'origine croisée à votre Go service.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal