如何获取List <object>的每个元素的值/数据

时间:2019-03-24 11:05:40

标签: javascript jquery asp.net-core

如何从jQuery中的列表中获取对象的值?在我从控制器获取ActionResults列表的那一刻,我想获取每个动作的值(html代码)。

当我尝试发送单个ActionResult时(没有列表)没有问题。

当我尝试发送List<ActionResult>时,每次都会收到object Object

<script type="text/javascript">
    $(document).on('click', 'button', function () {
        $cartAction = $("#" + this.id);
        var url = $cartAction.data("url");
        $.get(url, function (actions) {
           console.log(actions); <-- return Objects Array
           console.log(???); <-- how to get value of each actions
           console.log(actions[1]); <-- return a single object
           console.log(actions[1].document) <-- value undefined
        });
    });
</script>
public ActionResult Index()
{
    var actionList = new List<ActionResult>()
    {
        // ViewComponents, PartialViews
    };
    return Json(actionList);
}

我希望每个ActionResult返回html代码,但我得到

  

[对象对象],[对象对象]

有关操作列表。

编辑:关于我的问题的答案在这里stackoverflow.com/a/53639387/10338470

1 个答案:

答案 0 :(得分:0)

在jQuery中,您可以迭代这样的值

<script type="text/javascript">
    $(document).on('click', 'button', function () {
        $cartAction = $("#" + this.id);
        var url = $cartAction.data("url");
        $.get(url, function (actions) {
           console.log(actions); // <-- return Objects Array
           $.each(function() { // <-- iterates through each object in actions array
               console.log($(this)); // <-- logs the object to the console
           });
           console.log(actions[1]); // <-- return a single object
           console.log(actions[1].document) // <-- value undefined
        });
    });
</script>

在大多数浏览器中,甚至console.log(actions);都可以使用。但您始终可以JSON.stringify(actions);