Jquery Ajax获取嵌套数据,结果为500(内部服务器错误)
我有一个简单的ajax调用Jquery Ajax获取嵌套数据,结果为500(内部服务器错误),jquery,asp.net-mvc,serialization,Jquery,Asp.net Mvc,Serialization,我有一个简单的ajax调用 $.get("api/dashboard/tile/1x1/" + tag, { id: id }, function (tile) { options.result(modelmapper.fromDb(tile, 'dashboard')); }, 'json') 它从ASP.NET MVC控制器读取。嵌套到Person中的对象平铺 class Person{ pu
$.get("api/dashboard/tile/1x1/" + tag, { id: id },
function (tile) {
options.result(modelmapper.fromDb(tile, 'dashboard'));
}, 'json')
它从ASP.NET MVC控制器读取。嵌套到Person中的对象平铺
class Person{
public int Id { get; set; }
public Tile Tile { get; set; }}
class Tile{
public int Id { get; set; }}
问题:当Id不同时,一切正常,但如果Id相同,则位正常
加载资源失败:服务器响应状态为500(内部服务器错误)
我能看到的唯一一个解决方案(显然是有效的)是将Id重命名为有意义的东西,如PersonId,但我失去了很多灵活性,需要重新编写应用程序的重要部分。请帮忙
更新
控制器
[System.Web.Http.ActionName("tile")]
[System.Web.Http.AcceptVerbs("GET")]
// GET api/dashboard/tile/1x1/person
public Person Tile()
{
var tile = new Tile();
tile.Id = 1;
var personTile = new Person();
personTile.Id = 1;
personTile.Tile = tile;
return personTile;
}
解决方案:如果在控制器JsonConvert.SerializeObject中强制序列化数据,然后在客户端JSON.Parse()上淡化,我找到的唯一解决方案。如果在控制器JsonConvert.SerializeObject中强制序列化数据,然后在客户端JSON.Parse()上淡化,我找到的唯一解决方案显示控制器代码500服务器错误表示服务器端代码出现故障。在依赖AJAX代码之前,您需要做任何必要的事情来解决这个问题。但是,当从地址barit调用XML时,我能够接收XML,这可能是一个序列化问题吗?