1

json_encode() によって取得されるこの配列があります。実行すると

$.getJSON('beta.php' , function(data){
    console.log(data);
});

私は次のように結果を得る

[
Object { StuId="1", fName="Saman", more...},
Object { StuId="2", fName="Marry", more...},
Object { StuId="3", fName="Navjoth", more...},
Object { StuId="4", fName="Jassu", more...}
]

を使用してこの結果を反復しようとしています

$.each(data, function(key, value){

            for(var key in value){

                if(value.hasOwnProperty(key)){                  

                        $("#article tbody").html(                       
                        "<tr><td>" + value.StuId + 
                        "</td><td>" + value.fName + 
                        "</td><td>" + value.lName +
                        "</td><td>" + value.age +
                        "</td><td>" + value.grade + 
                        "</td></tr>");

                        $("article tbody").appendTo("document.body");               

                }

                }

        });

.上記の配列の形式のため、不可能だと思います。

なぜこれが起こっているのか、それを修正する方法を誰かが説明できれば、本当に感謝しています。上記を次の形式に変換する方法を知りたいです。

[
{"StuId":"1","fName":"Saman","lName":"Kumara","age":"14","grade":"A"},
{"StuId":"2","fName":"Marry","lName":"Vass","age":"12","grade":"B"},
{"StuId":"3","fName":"Navjoth","lName":"Bogal","age":"32","grade":"A"},
{"StuId":"4","fName":"Jassu","lName":"Singh","age":"22","grade":"E"}
]
4

2 に答える 2

2

テーブルのhtmlを毎回異なる値で上書きしています。

$(document).ready(function() {
  var html = "";
  var data = [
          { StuId:"1", fName:"Saman"},
          { StuId:"2", fName:"Marry"},
          { StuId:"3", fName:"Navjoth"},
          { StuId:"4", fName:"Jassu"}
          ]
  $.each(data, function(key, value){
    console.log(value + "--" + key);
    html += "<div><span>" + value.StuId + "</span><span>" + value.fName + "</span></div>";
  });
  $('body').html(html)
});

JavaScript のループは、他の言語とは異なります。閉鎖が必要です。

ここを見てください:

http://www.mennovanslooten.nl/blog/post/62

于 2011-06-02T07:39:38.700 に答える
0

基本オブジェクトは JavaScript 配列であるため、次のことはできません。

$.each(data, function(item) {
    var html = "<tr><td>" + item.StuId + "</td><td>" + item.fname + "</td></tr>";
    // etc.
});

?

于 2011-06-02T06:26:41.257 に答える