Appel d'une API avec le localhost

Résolu/Fermé
mikis69 Messages postés 168 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 11 février 2019 - 13 juil. 2015 à 22:39
mikis69 Messages postés 168 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 11 février 2019 - 31 juil. 2015 à 00:15
Bonsoir à tous !

Je travaille actuellement sur un projet personnel et rencontre quelques difficultés ..

Alors j'explique en bref :

- Je construis un site internet en deux parties. La partie qui concerne la création des APIs utilisées par le site internet (avec Apigility et donc PHP). Et la deuxième qui concerne l'affichage des données (en Javascript)

- La deuxième doit donc pour récupérer les données appeler les APIs !

Voilà le problème :

- Lorsque j'appelle mon API créée avec Apigility, j'obtiens cette erreur :

XMLHttpRequest cannot load http://localhost:8888/plats/1. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access.

Est ce que quelqu'un sait d'où elle provient et comment la résoudre ?

J'ai un petit peu cherché et j'ai simplement trouvé une solution proposant de créer un virtual host pour changer mon http://localhost en http://nomDeDomaine.com

Pour info je travaille avec Wamp Server (localhost) et le serveur d'apigility (localhost:8888) sous Windows 8

Merci à tous pour votre temps et vos futures réponses..

1 réponse

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 228
14 juil. 2015 à 11:52
'lut, c'est un problème de Cross-Origin Resource Sharing (CORS), qui permet de dire si oui ou non une requête venant d'un autre nom de domaine/sous-domaine/port doit être traitée par le JavaScript.
Apigility a une page de doc concernant son module
zfr-cors
qui permet de mettre en place une politique CORS appropriée pour que tu puisses te servir de ton API...
1
mikis69 Messages postés 168 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 11 février 2019
14 juil. 2015 à 12:21
Salut !

Merci pour ta réponse :)

Entre ta réponse et la création de mon poste, j'ai trouvé d'où venait le problème sans savoir le résoudre..

J'ai essayé un tas de technique pour autoriser mon serveur apache à recevoir la réponse du localhost:8888 avec par exemple :

- Header set Access-Control-Allow-Origin "*"

Ou encore en changeant le nom de domaine de mon localhost en monDomaine.com mais toujours rien..

J'espere que j'arriverais à utiliser ce module ! Si pas, j'espère que tu pourrais m'aider à le comprendre..
0
mikis69 Messages postés 168 Date d'inscription mardi 26 novembre 2013 Statut Membre Dernière intervention 11 février 2019
31 juil. 2015 à 00:15
Même si le poste date, je tenais à te remercier !

Entre mes jobs étudiants et mes passes-temps, j'ai complètement mis de côté le site internet !

J'ai réussi à résoudre le problème en installant le module ZFR Cors de Zend :)

Merci !
0