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 );
});

您正在返回 Client 类型的集合 ( Array)。该$.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 回答