2017-08-12 12 views
1

ResultDataはCommandModelオブジェクトのリストです。ajax成功呼び出しはオブジェクトのjsonリストを返します - アクセス不可プロパティ

[ { "Command": "Blueprint", "Count": 77 }, { "Command": "Template", "Count": 188 }, { "Command": "Test", "Count": 78 } ]  

が返されるのオブジェクトは次のようになり、

public class CommandModel 
{ 
    public string Command {get; set;} 
    public int Count {get; set;} 
}  

このビデオ(https://www.youtube.com/watch?v=7oUZXuI7OgQ)で説明したように、私は、ドットプロパティ表記を使用してオブジェクトのデータにアクセスしようとしています。実行時、最初の反復で

 $("#btn").click(function() { 
      $.ajax({ 

       url: "http://localhost:6023/external", 
       type: "GET", 
       accept: "application/json", 
       dataType: 'json', 
       success: function (resultData) { 
        $.each(resultData, function (key, value) { 
         var command = value.command; // returns undefined 
         var count = value.count; // returns undefined 
         $("tbl").append("<tr><td>" + command + "</td><td>" + count + "</td></tr>") 
        }) 
       }, 

       error: function (e) { 
        alert("something broke"); 
       } 
      }) 

、変数は次のようになります。

Key = 0 
Value = Object {Command:"Blueprint", Count:77} 

ない私がここで行方不明です何を確認してください。

+2

JavaScriptは大文字と小文字を区別しています。 'var command = value.Command;'などを試してください。 –

+0

@KelvinSherlock Doh、それでした。データは正しく引き出されていますが、テーブルに正しく格納されていません。それが別のものでなければ:)答えとして提出すること自由に感じ、私は喜んで受け入れるだろう。 –

答えて

1

を試してみてください。あなたのクラスで

あなたの代わりに、スクリプトを使用Comandcomandにそう

public class CommandModel 
{ 
    public string Command {get; set;} 
    public int Count {get; set;} 
} 

を持っています。同じ場合Count

$.each(resultData, function (key, value) { 
        var command = value.Command; // Change here 
        var count = value.Count; // Change here 
        $("tbl").append("<tr><td>" + command + "</td><td>" + count + "</td></tr>") 
       }) 
0

は、あなたが代わりに大文字の小文字を使用している

$.each(resultData, function (value) { ... } 
+0

これを使用して、最初の反復値= 0 –

関連する問題