2 votes

jquery 2 dimensional JSON

Ce qui suit fonctionne, si j'ai quelque chose comme ceci :

  return Json(new { CustomerInfo = custinfo}); // defined in the controller

  // below I define in my client script
  jQuery.each(CustomerInfo, function () {
                 jQuery.each(this, function () {
                     // get field info from the object
                 });
             });

Mais si je renvoie deux données comme suit

     return Json(new { CustomerInfo = custinfo, Message = msg });

Notez que custinfo est une liste et que message est une chaîne de caractères.

Dans mon .ajax() J'ai ce qui suit qui récupère les informations du JSON

     function (data) {
        alert(data.Message); // show up fine

        alert(JSON.stringify(data.RepInfo));

       jQuery.each(data.CustomorInfo, function () {
          jQuery.each(this, function () {
              // get data for each field . Show up as undefined here for my row content
          });
       });

     } 

Si je fais une alerte sur JSON.stringify sur le code ci-dessus, j'obtiens ce qui suit :

[{"ID":"12","Date":"01/23/2012","City":"Clearwater","State":"FL"},{"ID":"00017-LV01-12","Date":"02/09/2012","City":"Peoria","State":"IL"},{"ID":"00010-LV01-12","Date":"06/22/2012","City":"Newport Beach","State":"CA"}]

Lorsque je consulte les données dans .each() il est en train de tirer indéfini pour le contenu de la ligne. Comment puis-je faire en sorte qu'il affiche le contenu des lignes ?

0voto

Jigs Points 2606

Vous pouvez essayer ceci :

       $.each(data.CustomorInfo,function(i) {

           $.each(this, function(key, value) {
                        alert(key +'='+ value);  
                });
           });

        });

Démonstration en direct : http://jsfiddle.net/PQcFx/18/

0voto

LastCoder Points 10027

Votre code semble fonctionner correctement dans mon test.

http://jsfiddle.net/TapfF/2/

Sans savoir comment "custinfo" est défini sur votre serveur/back-end...

$(document).ready(function() {
    var data = {
        "CustomerInfo": [{"ID":"12","Date":"01/23/2012","City":"Clearwater","State":"FL"},{"ID":"00017-LV01-12","Date":"02/09/2012","City":"Peoria","State":"IL"},{"ID":"00010-LV01-12","Date":"06/22/2012","City":"Newport Beach","State":"CA"}],
        "Message": "testing123"
    };

    alert(data.Message);
    jQuery.each(data.CustomerInfo, function() {
        alert("outer: " + this);
        jQuery.each(this, function() {
            alert("inner: " + this);
        });
    });
});

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