IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

CORS html/javascript


Sujet :

JavaScript

  1. #1
    Membre habitu�
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2019
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 27
    Localisation : France, Jura (Franche Comt�)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 10
    Par d�faut CORS html/javascript
    Bonjour,
    J'aimerais, depuis une page html pouvoir effectuer une requ�te http vers un syst�me se trouvant dans mon r�seau. Pour cela j'utilise javascript et XMLHttpRequest.
    Voici mon code :

    Code HTML : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <!DOCTYPE html>
    <html lang="en" xmlns="http://www.w3.org/1999/html" xmlns="http://www.w3.org/1999/html">
    <head>
        <meta charset="UTF-8">
        <title>data</title>
    </head>
     
    <body>
    <button onclick="blabla()">getSipStatus</button>
    </body>
     
    <script type="text/javascript">
        function blabla(){
            var xhr = new XMLHttpRequest();
            return new Promise(function(resolve, reject) {
                xhr.onreadystatechange = function() {
                    if (xhr.readyState == 4) {
                        if (xhr.status >= 300) {
                            reject("Error, status code = " + xhr.status)
                        } else {
                            resolve(xhr.responseText);
                            console.log(xhr.responseText)
                        }
                    }
                }
                url="http://192.168.10.102/bha-api/sip.cgi?action=status"
                xhr.open('get', url, true)
                xhr.setRequestHeader("Access-Control-Allow-Origin","http://localhost:3000")
                xhr.setRequestHeader('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
                xhr.setRequestHeader('Access-Control-Allow-Headers', 'Content-Type');
                xhr.send();
            });
        }
    </script>
     
    </html>

    Et voici l'erreur que j'obtient lorsque je charge cette page dans chrome ou firefox :

    Access to XMLHttpRequest at 'http://192.168.10.102/bha-api/sip.cgi?action=status' from origin 'http://localhost:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

  2. #2
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    Il s'agit d'une s�curit�, tu ne peux pas faire uen requ�te ajax sur un autre domaine sans autorisation:

    fais une petit recherche avec
    Access-Control-Allow-Origin:
    Tu arriveras sur des liens de ce type
    https://developer.mozilla.org/fr/doc...OriginManquant
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  3. #3
    Membre habitu�
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2019
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 27
    Localisation : France, Jura (Franche Comt�)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 10
    Par d�faut
    J'ai d�j� regard� sur les forums etc mais aucunes solutions propos�es ne fonctionne pour moi. J'ai ajout� les bonne autorisations dans le header mais aucun r�sultat ...

  4. #4
    Membre habitu�
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2019
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 27
    Localisation : France, Jura (Franche Comt�)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 10
    Par d�faut
    Si je tape l'url : http://192.168.10.102/bha-api/sip.cgi?action=status dans mon navigateur j'obtient un Json. L'adresse 192.168.10.102 est pr�sente dans mon r�seau local et je ne peux pas du tout modifier la configuration de cette machine afin d'ajout� certaines autorisations.
    J'aimerais juste depuis une page html r�cup�rer le json renvoy� par cette adresse.

  5. #5
    Membre Expert
    Avatar de Doksuri
    Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2006
    Messages
    2 495
    D�tails du profil
    Informations personnelles :
    �ge : 55
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 495
    Par d�faut
    Citation Envoy� par mathias39 Voir le message
    Si je tape l'url : http://192.168.10.102/bha-api/sip.cgi?action=status dans mon navigateur j'obtient un Json
    c'est normal... tu ne requetes pas l'url depuis un autre domaine...
    comme l'a precise SpaceFrog, c'est par securite que les ajax cross-domain ne sont pas autorises. il faut que dans la conf de ton serveur tu autorise un (ou tous) autre domaine a acceder a ton serveur
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de D�veloppez !

  6. #6
    Membre habitu�
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2019
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 27
    Localisation : France, Jura (Franche Comt�)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 10
    Par d�faut
    Mais je ne peux pas acc�der du tout � la configuration du serveur se trouvant sur l'adresse ip cible de ma requ�te

  7. #7
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    Alors tu ne pourras pas faire un ajax�
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  8. #8
    Membre habitu�
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2019
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 27
    Localisation : France, Jura (Franche Comt�)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 10
    Par d�faut
    Existe-t'il d'autre moyen de r�cup�rer le json renvoy� par cette url ?

  9. #9
    Membre confirm�
    Homme Profil pro
    Inscrit en
    D�cembre 2012
    Messages
    71
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2012
    Messages : 71
    Par d�faut Et comment doit-on configurer ?
    Bonjour.

    Je suis tomb� sur la m�me erreur aujourd'hui en cherchant � utiliser EventSource. L'une des tr�s rares pages qui en parlent (tr�s succinctement�) est celle de Mozilla �voqu�e plus haut.

    J'ai donc mis un .htaccess sur mon site avec la ligne
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Header set Access-Control-Allow-Origin mon-domaine
    avec ou sans apostrophe autour du domaine (c'est mis dans ces pages� sans exemple) et j'ai toujours un avertissement CORS qui change de message ; il me dit que
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Access-Control-Allow-Origin=mon-domaine
    ne correspond pas dans le header �
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Access-Control-Allow-Origin=mon-domaine
    !




    Du coup, j'ai test� la version nginx vu qu'entre temps j'ai remarqu� que mon serveur �tait nginx�

    �a ne lui a pas plus du tout !

    Donc, pour enrichir l'aide et la documentation sur cette configuration et avoir un exemple concret sur le net, que faut-il mettre pr�cis�ment et o� ?

    Merci.

  10. #10
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    cot� serveur avec un curl ?
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  11. #11
    Membre habitu�
    Homme Profil pro
    �tudiant
    Inscrit en
    Mai 2019
    Messages
    10
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 27
    Localisation : France, Jura (Franche Comt�)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 10
    Par d�faut
    Oui mais c�t� serveur l'adresse 192.168.10.xxx n'est pas atteignable car elle est dans le r�seau local du client ...

  12. #12
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    a part d�poser le fichier ou une copie dans un endroit accessible, DMZ � ou faire un web service dans un endroit accessible qui ira chercher les donn�es ...
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  13. #13
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Bonjour,
    j'ai du mal � comprendre l'architecture:
    pouvoir effectuer une requ�te http vers un syst�me se trouvant dans mon r�seau.
    L'adresse 192.168.10.102 est pr�sente dans mon r�seau local
    je ne peux pas acc�der du tout � la configuration du serveur se trouvant sur l'adresse ip cible de ma requ�te
    l'adresse 192.168.10.xxx n'est pas atteignable car elle est dans le r�seau local du client ...

  14. #14
    Membre confirm�
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2020
    Messages
    119
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Juin 2020
    Messages : 119
    Par d�faut
    Bonjour, je rencontre le m�me probl�me , depuis ce matin je n'arrive pas � r�cup�rer les donn�es depuis l'API jcdecaux. j'ai ce message d'erreur :


    "Access to XMLHttpRequest at 'https://api.jcdecaux.com/vls/v1/stations?contract=amiens&apiKey=86e2bc05a438193dfbc09fcaa44634b7c6641d2c' (redirected from 'http://api.jcdecaux.com/vls/v1/stations?contract=amiens&apiKey=86e2bc05a438193dfbc09fcaa44634b7c6641d2c') from origin 'http://localhost:52330' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header has a value 'http://localhost:52330' that is not equal to the supplied origin."

    A savoir que jusqu'� pr�sent tout fonctionnait correctement car j'avais install� l'extension. J'ai tout essay� (navigation priv�e, vider le cache, changer de navigateur, etc...)

    Je ne sais plus comment faire quelqu'un a d�j� rencontr� ce probl�me et l'a arrang� ?

  15. #15
    Membre �m�rite
    Femme Profil pro
    Autre
    Inscrit en
    Janvier 2017
    Messages
    340
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Autre

    Informations forums :
    Inscription : Janvier 2017
    Messages : 340
    Par d�faut
    Bonjour,
    Difficile � dire comme �a.
    Access-Control-Allow-Origin est une ent�te qui vient du serveur auquel s'adresse XMLHttpRequest.
    Apparemment, la valeur est la m�me que l'origine envoy�e, donc en principe ce devrait �tre bon...

    D'apr�s mes tests, je pense que le probl�me vient de votre configuration, il reste � savoir o� (httpd.conf, htaccess, js ?)

    A tester :
    Cr�er un fichier test.html et dans des balises <script></script>, y mettre l'exemple ici (en rempla�ant l'url).
    Ensuite, tester ce fichier de ces deux mani�res :
    - Via le serveur local : localhost:52330/test.html
    - Via le protocole file en ouvrant directement le fichier avec un navigateur.

    Dans la console, il faut certes regarder la r�ponse, mais aussi les ent�tes de la requ�te et de la r�ponse (qu'on peut voir aussi dans l'onglet r�seau).

  16. #16
    Membre confirm�
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2020
    Messages
    119
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Juin 2020
    Messages : 119
    Par d�faut
    J'ai trouv� la solution i�i :

    https://medium.com/@dtkatz/3-ways-to...ks-d97d55946d9


    Il suffit d'ajouter cet URL juste avant de d�clarer votre API : https://cors-anywhere.herokuapp.com/

    par exemple :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
            this.ajaxGet('https://cors-anywhere.herokuapp.com/http://api.jcdecaux.com/vls/v1/stations?contract=amiens&apiKey=86e2bc05a438193dfbc09fcaa44634b7c6641d2c', (reponse) => {
    //CODE
    }

  17. #17
    Membre �m�rite
    Femme Profil pro
    Autre
    Inscrit en
    Janvier 2017
    Messages
    340
    D�tails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Autre

    Informations forums :
    Inscription : Janvier 2017
    Messages : 340
    Par d�faut
    Bonjour,
    Citation Envoy� par Lunesti Voir le message
    J'ai trouv� la solution i�i :
    Disons que c'est une solution qui d�panne (et c'est bien de l'avoir trouv�e ! et aussi de la communiquer ! ).

    Id�alement/ult�rieurement, il serait bien d'analyser ce qui coince de votre c�t� dans le cas d'un acc�s direct.

  18. #18
    Membre confirm�
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2020
    Messages
    119
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 36
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activit� : D�veloppeur Web

    Informations forums :
    Inscription : Juin 2020
    Messages : 119
    Par d�faut
    Oui, ce qui est s�r c'est que cela ne peut pas venir de mon code car cela fonctionnait, et du jour au lendemain �a n'a plus fonctionn�. N'ayant rien modifi� au pr�alable qui aurait pu causer ce dysfonctionnement je ne peux qu'en d�duire que cela provient de mon h�bergeur OVH mais �a reste � confirmer

Discussions similaires

  1. [Struts] A quoi sert html:javascript ?
    Par zeTang dans le forum Struts 1
    R�ponses: 9
    Dernier message: 06/09/2005, 09h16
  2. visualisation de pages html javascript
    Par magic.goby dans le forum MFC
    R�ponses: 2
    Dernier message: 23/06/2005, 11h38
  3. Version HTML & Javascript
    Par Blustuff dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 15/03/2005, 23h38
  4. [HTML/JAVASCRIPT]Sortir d'une iframe
    Par tidou dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 2
    Dernier message: 19/01/2005, 15h26
  5. [html][javascript] probleme <select> affichage
    Par maysa dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 2
    Dernier message: 29/09/2004, 15h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo