Bonjour,
J'aimerai pouvoir appeler directement l'API Jeedom en javascript.
Actuellement je me prend une alerte CORS du navigateur Web, c'est dommage.
Exemple si je vais sur l'url :
http://X.X.X.X/core/api/jeeApi.php?apikey=XXX&type=cmd&id=335
Je récupère bien ma valeur.
Si je vais en console (Touche F12 du navigateur) sur une page ou j'ai jQuery et que je tape :
$.get('http://X.X.X.X/core/api/jeeApi.php?apikey=XXX&type=cmd&id=335', function(v) { console.log(v); })
J'ai comme réponse :
Access to XMLHttpRequest at 'http...' from origin 'http...' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed.
Une idée ?
Merci
API Jeedom et CORS
Re: API Jeedom et CORS
Comme ca je dirais que les Header reçus par le navigateur ne sont pas conformes
(The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed.)
Il faudrait détailler les header reçus pour voir précisement...
(The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed.)
Il faudrait détailler les header reçus pour voir précisement...
Jeedom Stable 3.3
NUC Z83 + Aeotec Z-Stick Gen5
Z-Wave FGR + FGMS + FGDS + FGFS + FGK + FGWPE + ZW062 + ZW080
GH Mini + Orvibo AllOne + Playbulb + Miband2
NUC Z83 + Aeotec Z-Stick Gen5
Z-Wave FGR + FGMS + FGDS + FGFS + FGK + FGWPE + ZW062 + ZW080
GH Mini + Orvibo AllOne + Playbulb + Miband2
-
- Timide
- Messages : 31
- Inscription : 30 janv. 2018, 14:08
Re: API Jeedom et CORS
@jerome31 je sais pas ce que tu connais aux CORS, mais en résumé: un appel ajax qui vient d'un domaine différent sera par défaut rejeté. Tu peux ajouter des rules dans le header de l 'API pour autoriser certaines (ou tous) les domaines extérieurs a faire un Get ou un Post. Dans ton cas il semble que le header soit incorrect, tu ne peux donc pas y accéder en Get.
J'ai eu le meme soucis, quand j'essaie d'appeler http://x.x.x.x/core/ajax/event.ajax.php
Du coup pour éviter ca il y a moyen d'aller bidouiller le fichier php de l'API.
Avec le plugin "outil de developpement" on le retrouve facilement, on l'edit, on rajoute un header de CORS juste apres la balise d'ouverture du PHP et ca marche.
exemple:
et les requetes venant de ce domaine-la seront acceptées.
J'ai eu le meme soucis, quand j'essaie d'appeler http://x.x.x.x/core/ajax/event.ajax.php
Du coup pour éviter ca il y a moyen d'aller bidouiller le fichier php de l'API.
Avec le plugin "outil de developpement" on le retrouve facilement, on l'edit, on rajoute un header de CORS juste apres la balise d'ouverture du PHP et ca marche.
exemple:
Code : Tout sélectionner
header("Access-Control-Allow-Origin: http://mon.domaine.fr");
Qui est en ligne ?
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité