Javascript 从Ajax GET调用返回JSON-在JSON对象中除第一条记录外的所有记录上接收未定义的错误

Javascript 从Ajax GET调用返回JSON-在JSON对象中除第一条记录外的所有记录上接收未定义的错误,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,以下是我的客户端代码: $.ajax({ url: 'http://localhost/App.WebAPI/api/Messages/AppName', type: 'GET', dataType: 'json', crossDomain: true, success: function (data) {

以下是我的客户端代码:

$.ajax({
                url: 'http://localhost/App.WebAPI/api/Messages/AppName',
                type: 'GET',
                dataType: 'json',
                crossDomain: true,
                success: function (data) {
                    WriteResponse(data);
                },
                error: function (x, y, z) {
                    alert(x + '\n' + y + '\n' + z);
                }
            });

function WriteResponse(messages) {
            var strResult = "<table><th>AppId</th><th>Message</th>";
            $.each(messages, function (index, message) {
                strResult += "<tr><td>" + message.AppId + "</td><td> " + message.Message + "</td></tr>";
            });
            strResult += "</table>";
            $("#divResult").html(strResult);
        }
$.ajax({
网址:'http://localhost/App.WebAPI/api/Messages/AppName',
键入:“GET”,
数据类型:“json”,
跨域:是的,
成功:功能(数据){
写响应(数据);
},
错误:函数(x,y,z){
警报(x+'\n'+y+'\n'+z);
}
});
函数WriteResponse(消息){
var strResult=“AppIdMessage”;
$.each(消息、函数(索引、消息){
strResult+=“”+message.AppId+“”+message.message+“”;
});
strResult+=“”;
$(“#divResult”).html(strResult);
}
Ajax调用中的URL返回3条记录,但当它们通过“WriterResponse”输出到浏览器时,我得到的是(模糊显示以保护公司信息):


我的每个方法是否都没有正确形成?我不是jQuery方面的专家,所以如果我搞错了一些简单的东西,我也不会感到惊讶。请注意,它确实看到所有3条记录,但在第2条和第3条记录中输出“未定义”。。。你知道为什么吗?

问题是我在我的表(MSSQL)中定义了一个外键关系-我使用的是实体框架-因此当WebAPI返回JSON时,正如预期的那样,外键包含在JSON中,但出于某种原因,它使JSON看起来很古怪。我删除了表中的所有关系,再次运行了API调用,现在我要取回所有记录


但我知道这只是解决了外键的问题,我会进一步调查。

给我们看看你的回答。LOL@SLaks我想出来了-一旦你说要显示我的回答,我就开始看输出了,这是因为我的数据库中有一些外键关系干扰了JSON的输出——这使它看起来很奇怪,这就是为什么出现“未定义”错误的原因。