88 votes

Utilisation de jQuery pour construire les lignes d'un tableau à partir de la réponse AJAX (json)

Duplicata possible Éléments imbriqués

J'obtiens une réponse ajax côté serveur (Json) et j'essaie de créer dynamiquement des lignes de tableau et de les ajouter à un tableau existant avec id=. records_table .

J'ai essayé de mettre en œuvre la solution en double possible mais cela a échoué.

Ma réponse ressemble à ça :

    '[{
      "rank":"9",
      "content":"Alon",
      "UID":"5"
     },
     {
       "rank":"6",
       "content":"Tala",
       "UID":"6"
    }]'

le résultat demandé est quelque chose comme ça :

<tr>
   <td>9</td>
   <td>Alon</td>
   <td>5</td>  
</tr>
<tr>
   <td>6</td>
   <td>Tala</td>
   <td>5</td>  
</tr>

Je veux faire quelque chose sans analyser le Json et j'ai donc essayé de faire ce qui suit, ce qui a bien sûr été un désastre :

    function responseHandler(response)
    {

        $(function() {
            $.each(response, function(i, item) {
                $('<tr>').html(
                    $('td').text(item.rank),
                    $('td').text(item.content),
                    $('td').text(item.UID)
                ).appendTo('#records_table');

            });
        });

    }

Dans ma solution, je n'obtiens qu'une seule ligne avec le chiffre 6 dans toutes les cellules. Qu'est-ce que je fais de mal ?

0voto

Eduard Dyckman Points 133

JQuery.html prend une chaîne ou un callback comme entrée, je ne sais pas comment votre exemple fonctionne... Essayez quelque chose comme $('<tr>').append($('<td>' + item.rank + '</td>').append ... Et vous avez des problèmes certains avec les tags de la fromation. Elle devrait être $('<tr/>') y $('<td/>')

0voto

Harpreet Points 56

Je fais ce qui suit pour obtenir une réponse JSON d'Ajax et la parser sans utiliser parseJson :

$.ajax({
  dataType: 'json', <----
  type: 'GET',
  url: 'get/allworldbankaccounts.json',
  data: $("body form:first").serialize(),

Si vous utilisez dataType en tant que Text, alors vous avez besoin de $.parseJSON(response).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X