Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Ajax获取嵌套数据,结果为500(内部服务器错误)_Jquery_Asp.net Mvc_Serialization - Fatal编程技术网

Jquery Ajax获取嵌套数据,结果为500(内部服务器错误)

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

我有一个简单的ajax调用

$.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,这可能是一个序列化问题吗?