迭代json列表时来自第二个索引的未定义错误

时间:2012-11-19 10:00:47

标签: asp.net-mvc jquery asp.net-web-api

我的代码运行为,

       $.ajax({
            url: "api/WepAPI/",
            dataType: 'json',
            success: function (result) {
                alert(result.length);
                $.each(result, function (index, element) {
                    alert(element.StartDate);                        
                });
            },
        });

迭代时会正确显示第一个元素的startdate,而对于所有其他元素,它会返回 警报中未定义的消息。

我的WEBAPI控制器代码如下,

    public IEnumerable<Employees> GetAllEmployess()
    {
        EmpDataContainer context = new EmpDataContainer();

        return context.Employees.AsEnumerable();
    } 

帮我解决这个错误...

2 个答案:

答案 0 :(得分:1)

看来您的数据可能不是您所期望的,也可能是缺少某些东西,或者可能是较低/不同的字母大小写。

在任何一种情况下,都没有开始能够看到结果的JSON;无法确定此问题的可能原因。

你能为典型的结果对象添加JSON吗?

您可以使用console.log(result);输出JSON。

答案 1 :(得分:0)

经过一些调试和浏览,我发现问题是由于使用了具有导航属性的实体对象本身,即该对象又有一些子对象。

然后找到了解决问题的方法,创建了一个视图模型并为视图模型分配了所需的值。 确保视图模型没有子对象。