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

jQuery Discussion :

Récupérer du JSON en cross domaine avec localhost [AJAX]


Sujet :

jQuery

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Consultant CRM
    Inscrit en
    Avril 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Consultant CRM

    Informations forums :
    Inscription : Avril 2013
    Messages : 19
    Points : 29
    Points
    29
    Par défaut Récupérer du JSON en cross domaine avec localhost
    Le code suivant marche très bien si ma page.html se trouve dans ou en dehors du dossier www :

    Code : 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
    <!DOCTYPE html>
    <html>
    	<head>
    		<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    	</head>
    	<body>
    		getJSON function
    		<script>
    			$(document).ready(function () {
     
    				//$.getJSON('http://feeds.delicious.com/v2/json/popular?callback=?', function(data) {
     
    					alert("data : "+data);
     
    				});
    			});
    		</script>
               </body>
    </html>
    Sauf que si je change l'url précédant par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $.get('http://localhost:8080/json?callback=?', function(data) { ...
    ça continue à marcher uniquement si ma page.html se trouve dans le dossier www. En dehors du dossier ça ne marche plus.

    Un problème avec le domaine localhost?

  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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 672
    Points
    66 672
    Billets dans le blog
    1
    Par défaut
    Ce qui est tout a fait normal et rassurant... sinon n'importe qui pourrait accéder à des fichiers sur ton pc avec ajax !!!
    www est justement la racine de ton domaine en local. La partie en, amont de ce repertoire ne fait plus partie du domaine et tu te heurte donc naturellement à une restriction salutaire (Same Origin Policy)
    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 actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 422
    Points : 201
    Points
    201
    Par défaut
    Comment faut-il résoudre ce problème avec une machine localhost.

    Pour mon cas, je développe sur ma machine en local "c:\monprojet\main.html"
    une page qui a pour but de récupérer un flux json qui est généré par un logiciel SOA BusinessWork de Tibco qui automatiquement crée un flux json sur le port 9010.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost:9010/geo/encode/composition/name?s_name=FR&sv_name=dis_l73&g_name=G_N1&gv_name=dis_l73
    .

    Ma page web main.html est celle-ci:
    Code : 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
     
    <html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta http-equiv="Access-Control-Allow-Origin" content="*"/>
    <meta http-equiv="Access-Control-Allow-Origin" content="http://localhost"/>
    <script src="http://code.jquery.com/jquery-1.7.1.js"></script>
     
    <script>
    function httpGet() {
        var myUrl = 'http://localhost:9010/geo/encode/composition/name?s_name=FR&sv_name=dis_l73&g_name=G_N1&gv_name=dis_l73' + '&callback=?';
                $(document).ready(function () {
     
                    $.getJSON( myUrl, function( data ) {
     
                        alert("hello");
     
                    });
                });
    }            
    </script>
     
        <button id="BUT01" onclick="httpGet()">Call Json</button>
    </head>
    </html>
    Sur Firefox bouton droit inspect element, l'onglet réseau me ramène le contenu cepandant impossible de récupérer le contenu dans une variable javascript.

    Je reçois une erreur
    SyntaxError: missing ; before statement
    .

    Pouvez-vous m'aider svp ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage de données cross domain avec jsonP
    Par yoannhel dans le forum jQuery
    Réponses: 1
    Dernier message: 12/03/2014, 10h11
  2. [AJAX] Json + Ajax cross domain.
    Par Cartman.inc dans le forum AJAX
    Réponses: 2
    Dernier message: 18/02/2011, 11h01
  3. Récupérer fichier de type 'application/x-json' en cross-domain
    Par jdflaugergues dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 25/09/2010, 21h46
  4. [Article] AJAX cross-domain avec flXHR
    Par E.Bzz dans le forum AJAX
    Réponses: 2
    Dernier message: 06/07/2010, 13h11

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