0

だから私はJsonResultを呼び出すjsonを持っています

クラス:

public class Client{
    public int Id {get;set;}
    public string Name {get;set;}
}

呼び出されるアクション:

public JsonResult Index(int Id)
        {
      var a = context.Clients.ToList();
      return Json(a, JsonRequestBehavior.AllowGet);
}

これが呼び出しです

<script type="text/javascript">
    $(document).ready(function () {
        var link;
        $('a.client-list').click(function () {
            link= $(this);
            $.ajax({
                url: '/client/index?Id=4455',
                dataType: 'json',
                success: function (data) {
                    $.each(data, function (id, val) {
                        alert(id.toString() + ' ' + val.toString());
                    });
                }
            });
            return false;
        });
    });
    </script>

だから私の問題は、私が入れたアラートをループして何かを返すことを知っていますが、飛び出す値はこれです

0 [object Object]
1 [object Object]

なぜそれを正しく読み取らないのかわかりません。ところでクエリされる値は

1 TestCompany1
2 TestCompany2

私はjqueryに何か欠けていますか??

4

1 に答える 1

4

$.each を次のように更新します。

$.each( data, function (index, client ) {
    alert( client.Id + ' ' + client.Name );
});

ArrayClient タイプのコレクション ( ) を返しています。この$.each関数は、配列のインデックスと、インデックスに関連付けられた配列内の項目を提供します。この場合、配列内の各項目は Client になりObjectます。詳細は$.eachこちら: http://api.jquery.com/jQuery.each/

JavaScript をデバッグする際の詳細については、コンソールを使用してみてください。

$.each(data, function ( index, client ) {
    console.log( client );
});

ブラウザ (PC) で F12 を押して、コンソール タブを選択するだけです。Objectプロパティを含むの詳細を確認できます。

于 2012-08-16T23:15:10.077 に答える