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 :

Comment charger un fichier xml situe sur un autre serveur [Fait]


Sujet :

jQuery

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 99
    Points : 46
    Points
    46
    Par défaut Comment charger un fichier xml situe sur un autre serveur
    Salut,

    J'essaie d'utiliser le code suivant pour recuperer un fichier xml d'Alexa mais la fonction ne marche que lorsque le document est sur le meme serveur...Pouvez-vous m'aider ?

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    <script type="text/JavaScript"> 
     
     
       var alexaxml = "document.xml"; // MARCHe
       //var alexaxml =  "http://karlstabo.se/document.xml"; // MARCHe PAS
     
     
       	$(document).ready(function() {
        // run this when the whole page has been downloaded
    		get_alexa_popularity(alexaxml)
     
    	});
     
    	function get_alexa_popularity(alexaxml)
    	{
    			$.ajax({
        		url: alexaxml,
        		type: 'GET',
        		dataType: 'xml',
        		timeout: 1000,
        		error: function(){
            		alert('Error loading XML document');
        		},
        		success: function(xml){
            		// do something with xml
    				// alert(xml);
     
    				 $(xml).find('REACH').each(function(){
                             var index_reach = $(this).attr('RANK')
    						 $("#quote p").html(index_reach);
     
                     }); //close each
     
    				/*
    				$(xml).find('POPULARITY').each(function(){
                             var index_popularity = $(this).attr('TEXT')
                             //var name_text = $(this).find('name').text()
    						//alert(index_popularity)
                             
                     }); //close each
     
     
    				 $(xml).find('LINKSIN').each(function(){
                             var index_linksin = $(this).attr('NUM')
    						//alert(index_linksin)
                             
                     }); //close each
    				*/
     
        		}
    		});
    	}
     
     
     </script>

    Merci

    Stephane

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Tu peux regarder par ici.

  3. #3
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    Je ne sais pas si Alexa propose un service pour le cross-serveur-scripting
    sinon, tu devras recourir à la technique du proxy proposée dans le tuto.

    Un proxy ressemble à ça dans ton cas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
            header("Content-Type: text/xml"); 
            readfile("http://karlstabo.se/document.xml");
    ?>
    Tu place ce fichier dans ton site, par ex: proxy.php et tu fais ta requête
    Ajax dessus en lieu et place du fichier xml, en espérant que ta
    config php permette l'accès à des Urls extérieurs. Sinon il te faudra
    recourir à d'autres techniques, par exemple CURL pour faire le proxy

    Idéalement il faudrait renseigner d'autres en-tête http (comme ceux
    pour la gestion du cache). Si tu en as besoin, regarde les implémentations
    existantes de proxy que l'on trouve sur le web.

Discussions similaires

  1. Réponses: 9
    Dernier message: 31/07/2009, 10h14
  2. Réponses: 2
    Dernier message: 21/11/2007, 13h48
  3. Lire un fichier xml situé sur un serveur
    Par mrfirefunk dans le forum Applets
    Réponses: 1
    Dernier message: 25/09/2007, 09h53
  4. Réponses: 2
    Dernier message: 28/09/2006, 09h48
  5. Réponses: 9
    Dernier message: 26/07/2006, 16h22

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