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

这是我的客户端代码:

$.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 = ""; $.each(messages, function (index, message) { strResult += ""; }); strResult += "
AppIdMessage
" + message.AppId + " " + message.Message + "
"; $("#divResult").html(strResult); }

Ajax调用中的URL返回3条记录,但是当它们通过“WriteResponse”输出到浏览器时,这就是我得到的(模糊以保护公司信息):

在此处输入图像描述

我的.each方法没有正确形成? 我不是jQuery的专家,所以如果我搞砸了一些简单的东西,我也不会感到惊讶。 请注意,它确实看到了所有3条记录,但它在第2和第3条记录中输出“Undefined”…任何想法为什么?

问题是我在我的表(MSSQL)中定义了一个外键关系 – 我正在使用entity framework – 所以当WebAPI返回JSON时,外键被包含在JSON中,正如预期的那样,但对于某些人来说因为它让JSON看起来很时髦。 我删除了表中的所有关系,再次运行了API调用,现在我收回了所有记录。

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