Erreur d'origine croisée dans JavaScript | Scene7

Problème

Je développe actuellement une application html, mais reçois le message d'erreur suivant lorsque je tente d'appeler des images Scene7 :

XMLHttpRequest ne peut pas charger http://company.scene7.com/is/image/Company/image. Origin http://www.clientCompany.com n'est pas autorisé par Access-Control-Allow-Origin.

Utilisez CORS (Cross-Origin-Resource-Sharing) : http://enable-cors.org/server.html
pour l'exécuter, le serveur company.scene7.com doit ajouter l'entête suivant :

Access-Control-Allow-Origin: *

Cette option n'est pas disponible pour les serveurs Scene7, vous pouvez utiliser un jeu de règles pour obtenir le même résultat :

Solution

<?xml version="1.0" encoding="UTF-8"?>
<ruleset>
<rule OnMatch="continue">
<expression>.a=pft</expression>
<header Name="Access-Control-Allow-Origin" Action="set">pft.company.com</header>
</rule>
<rule>
<expression>.a=www</expression>
<header Name="Access-Control-Allow-Origin" Action="set">www.company.com</header>
</rule>
<rule>
<expression>.a=dev</expression>
<header Name="Access-Control-Allow-Origin" Action="set">dev.company.com</header>
</rule>
</ruleset>

Notez qu’il n’y a pas de caractère générique, de sorte que chaque environnement (développement, intégration, production, etc.) nécessite une règle distincte.

L’objet de l'ensemble de règles correspond à un modificateur spécifique et ajoute Access-Control-Allow-Origin qui correspond à ce modificateur. Voici des exemples d’URL utilisant les règles définies ci-dessus :

http://s7d7.scene7.com/is/image/Company/temp1?.a=pft

http://s7d7.scene7.com/is/image/Company/temp1?.a=dev

http://s7d7.scene7.com/is/image/Company/temp1?.a=www

 Adobe

Recevez de l’aide plus rapidement et plus facilement

Nouvel utilisateur ?

Adobe MAX 2024

Adobe MAX
La conférence sur la créativité

Du 14 au 16 octobre à Miami Beach et en ligne

Adobe MAX

La conférence sur la créativité

Du 14 au 16 octobre à Miami Beach et en ligne

Adobe MAX 2024

Adobe MAX
La conférence sur la créativité

Du 14 au 16 octobre à Miami Beach et en ligne

Adobe MAX

La conférence sur la créativité

Du 14 au 16 octobre à Miami Beach et en ligne