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

AJAX Discussion :

[AJAX] Mettre des données issue d'un json sous forme table


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2014
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2014
    Messages : 67
    Par défaut [AJAX] Mettre des données issue d'un json sous forme table
    bonjour je test le javascript, je voudrai savoir comment enregistrer les données issue du json dans un fichier temporaire a intervalle régulier disons toute les heures, et ensuite mettre en forme les données qui m'interesse dans un tableau en html voici le code pour l'instant je récupérer bien les données.

    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
    <!DOCTYPE html>
    <html lang="">
     
        <head>
            <meta charset="UTF-8">
            <title>App LM</title>
            <meta name="Author" content="" />
        </head>
     
        <body>
            <script type="application/javascript">
                var xhr = new XMLHttpRequest();
                try{
                    xhr.open('GET','http://api.openweathermap.org/data/2.5/weather?q=London,uk',false);
                    xhr.send(null);
                    if(xhr.status==200)
                        var list =xhr.responseText;
                        document.write(list);
                }catch(e){
                    document.write(e);
                }
            </script>
            <p>
     
            </p>
        </body>
    </html>

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 208
    Par défaut
    Bonjour,
    tu reçois en retour une chaine au "format" JSON, il te faut la parser pour avoir accès à un "vrai" objet JSON
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var obj = JSON.parse( responseText);
    for( var ind in obj){ // pour parcourir les propriétés de l'objet
      console.log( obj[ind]);
    }
    Concernant document.write, c'est à bannir Comprendre document.write() en JavaScript

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2014
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2014
    Messages : 67
    Par défaut
    merci, mais comment je fais pour écrire les données à l'intèrieur d'un tableau ?
    je vois bien les infos dans les log mais j'aimerais les mettre en forme dans un tableau avec les infos qui me sont utiles et pas les autres.

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2014
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2014
    Messages : 67
    Par défaut
    j'arrive a accéder au élément et a les mettre dans un table, mais je souhaite accédé a l’élément name: london comment faire svp.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {"coord":{"lon":-0.13,"lat":51.51},"sys":{"type":3,"id":60992,"message":0.1036,"country":"GB","sunrise":1422172089,"sunset":1422203854},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"base":"cmc stations","main":{"temp":278.45,"humidity":86,"pressure":1031.1,"temp_min":278.45,"temp_max":278.45},"wind":{"speed":1,"gust":2.8,"deg":180},"rain":{"3h":0},"clouds":{"all":80},"dt":1422185522,"id":2643743,"name":"London","cod":200}

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 208
    Par défaut
    Cela revient à avoir le JS suivant
    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
    var obj = {
      "coord": {
        "lon": -0.13,
        "lat": 51.51
      },
      "sys": {
        "type": 3,
        "id": 60992,
        "message": 0.1036,
        "country": "GB",
        "sunrise": 1422172089,
        "sunset": 1422203854
      },
      "weather": [{
        "id": 803,
        "main": "Clouds",
        "description": "broken clouds",
        "icon": "04d"
      }],
      "base": "cmc stations",
      "main": {
        "temp": 278.45,
        "humidity": 86,
        "pressure": 1031.1,
        "temp_min": 278.45,
        "temp_max": 278.45
      },
      "wind": {
        "speed": 1,
        "gust": 2.8,
        "deg": 180
      },
      "rain": {
        "3h": 0
      },
      "clouds": {
        "all": 80
      },
      "dt": 1422185522,
      "id": 2643743,
      "name": "London",
      "cod": 200
    }
    donc pour récupérer le name, c'est obj.name ou encore obj['name'] et pour le reste le même principe.

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2014
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2014
    Messages : 67
    Par défaut
    j'ai un problème si un élèment du json contient par exemple @id je ne peut pas acceédé a l'élèment
    j'ai ccette erreur index.html:35 Uncaught SyntaxError: Unexpected token ILLEGAL
    comment enlevé les @? merci

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 25/02/2016, 16h15
  2. [AJAX] Récupérer des données avec json
    Par Rony Rauzduel dans le forum AJAX
    Réponses: 4
    Dernier message: 15/10/2012, 17h37
  3. [ZF 1.10] Ajax et Zend pour mettre des données à jour d'un tableau
    Par absot dans le forum Zend Framework
    Réponses: 1
    Dernier message: 12/10/2011, 12h03
  4. [FPDF] Mettre des données issues d'une requête dans l'entête
    Par zoom61 dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 30/03/2007, 10h10
  5. Exportation des données d'une base Oracle sous forms
    Par moezsokrati dans le forum Forms
    Réponses: 4
    Dernier message: 13/10/2005, 08h55

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