bonjour,
j'ai un web service de type rest que je veux consommer pour afficher l'id et le nom ,voici mon code:

<script type="text/javascript">
    $(document).ready(function() {
    $.ajax({
        type: "GET",
        url: "http://localhost:8080/webservicesV1/cuisines.php",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        async: false,
        success: function (data) {
            RenderResult(data);
        }
    }).then(function (data) {
        console.log("data"+data);
        $('.greeting-id').append(data.id);
        console.log("id:" + data.id);
        $('.greeting-content').append(data.nom);
        console.log("nom:" + data.nom);
    });
    function RenderResult(data) {
        // handle the returned result here
        var isValid = data;
        console.log("isValid:"+isValid);
    }
    });

</script>

et voici mon code HTML:

<div data-role="view" data-title="Home" data-layout="main" data-model="APP.models.home">
        <p class="greeting-id">The ID is </p>
        <p class="greeting-content">The content is </p>
    </div>

le service web sous format json:

{"success":1,"message":"cuisine trouve!","cuisines":[{"id":"1","nom":"maltaine"},{"id":"2","nom":"française"}]}

le résultat sur le console:

isValid:[object Object]
data[object Object]
 id:undefined
nom:undefined

je reçois toujours "undefined" dans les valeurs de l'id et le nom
comment je peux résoudre ce problème
merci pour l'aide

4 réponses


Maenhyr
Réponse acceptée

cuisines est un tableau, il faut faire data.cuisines[0].id

Bonjour, ton id et ton nom sont sous l'objet cuisines hors tu ne cherches pas dedans.

hana005
Auteur

merci prbaron pour votre réponse,j'ai essayé data.cuisines.id et data.cuisines.nom mais toujours j'ai undefined comme résultat :(

hana005
Auteur

merci prbaron,donc je dois utiliser une boucle for alors pour récupérer la liste des éléments et les affectés à ma vue,une autre question s'il vous plaît comment je peux envoyer une liste pareil à ma vue via les classes :)