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

AngularJS Discussion :

Réponse requête et traitement du contenu


Sujet :

AngularJS

  1. #1
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut Réponse requête et traitement du contenu
    Bonjour,

    j'ai un petit souci avec mes fonction sous Angular..

    je voudrait récupérer du contenu d'une api,

    je récupère bien mon contenu mais,

    je n'arrive pas a l'afficher dans mon template

    mon erreur est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Error: [ngRepeat:dupes] Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: item in items, Duplicate key: string:<, Duplicate value: <
    j'ai essayé plusieurs avec "track by" fois mais sans résultat..

    voici mon code du provider qui récupère bien le contenu:

    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
     
    app
      .factory('arretlisteprovider',function($rootScope,$http)
      {
        function list(query,callback)
        {
     
          var url = 'some URL';
          $http.get(url,query)
            .success(function (response) {
              callback(response);
            })
        }
        return{
          list: list
        }
      })
    ;
    et enfin voici mon controlleur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    app
      .controller('arretList', function ($scope, $rootScope, arretlisteprovider) {
     
        arretlisteprovider.list({}, function (items) {
            $scope.items = items;
          })
      })
    ;
    merci d'avance pour vos réaction..

  2. #2
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    Bonjour,

    Tu as des éléments dupliqués dans ton tableau.
    Tu peux poster ton code HTML aussi

    Sinon, c'est track by $index qu'il faut mettre.
    doc de ngRepeat
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  3. #3
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut Track by Angular
    D'abord merci pour ta réaction,

    voici ma vue:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <a ng-repeat="item in items track by $index">
              <h2>{{ item.name }}</h2></a>
    et voici mon erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Error: [ngRepeat:dupes] Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: item in items track by $index, Duplicate key: undefined, Duplicate value: h
    merci d'avance

  4. #4
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    Je pense que ton tableau ne contient aucune donnée.
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  5. #5
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut je n'ai pas de contenu donc..
    Merci pour ta réaction..

    pourrait tu me dire ce qui te fais pensé cela?

    j'ai pourtant un contenu dans mon console.log..

    ma fonction avec Angular est mal construite?

    merci d'avance

  6. #6
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    Citation Envoyé par sinzen Voir le message
    pourrait tu me dire ce qui te fais pensé cela?
    En voyant cela : "Duplicate key: undefined", je me suis dis que c'était peut être des éléments non définis qui étaient dans ton tableau et que tu ne mettais pas track by $index.

    Voici un exemple avec track by $index : jsbin

    Dans cet exemple, si tu le supprime, tu obtiendra la même erreur que la tienne.
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  7. #7
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut
    voici ma fonction Angular:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function list(query,callback)
        {
          var url = 'Some Url';
          $http.get(url,query)
            .success(function (response) {
              callback(response.data);
            })
    quand je met ".data" a ma résponse je n'obtient plus d'erreur..

    mais j'ai pas de contenu..

    voici un bout de code envoyer par l'api:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <li>Stations
    <ul>0
    <ul><li>id : 5409</li>
    <li>name : ABBAYE</li>
    <li>latitude :   50.818926</li>
    <li>longitude :    4.370739</li>
    </ul><br>
    personne ne peux me venir en aide?

    merci d'avance

  8. #8
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    Que contient response dans ta fonction list ? ou plutôt la réponse du serveur (F12 -> XHR et résultat obtenu après la requête) ?
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  9. #9
    Membre régulier
    Homme Profil pro
    Symfony - CMS Wordpress - Zend
    Inscrit en
    Septembre 2011
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Symfony - CMS Wordpress - Zend
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 306
    Points : 101
    Points
    101
    Par défaut Response de la requête...
    Bonjour,

    j'ai bien une réponse avec cette structure:

    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
    Stations
    0
    id : 5409
    name : ABBAYE
    latitude : 50.818926
    longitude : 4.370739
     
    1
    id : 5466
    name : ABBAYE
    latitude : 50.819834
    longitude : 4.370512
     
    2
    id : 7523
    name : ABBAYE
    latitude : 50.819279
    longitude : 4.370193
     
    .......

Discussions similaires

  1. Traitement du contenu d'un mail
    Par Rgent dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 07/10/2010, 12h06
  2. [MySQL] Requête pour afficher le contenu d'une table.
    Par HoWeR dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 08/01/2009, 07h04
  3. Faite une requête avec une variable contenu dans un champ
    Par Space Cowboy dans le forum Débuter
    Réponses: 3
    Dernier message: 18/11/2008, 14h45
  4. Réponse à requête AJAX
    Par Mister Nono dans le forum Struts 1
    Réponses: 2
    Dernier message: 03/07/2007, 13h19
  5. Ressources, temps de réponse, requète ...
    Par _____M_____ dans le forum Administration
    Réponses: 16
    Dernier message: 31/03/2004, 16h12

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