具有多对多(数组)输入的ajax形式

时间:2018-10-14 14:10:39

标签: asp.net ajax many-to-many

我有一个包含电影和流派(很多到很多)的Db,我想在表中显示不同的属性。我很难用ajax显示类型名称。这是我从Db获得的输入。

 {
        "id": 19,
        "name": "Superman",
        "originalTitel": "Superman - Der Film",
        "releseDate": "1978-05-15T00:00:00",
        "duration": 137,
        "description": "Superman ist ein Science-Fiction-Film aus dem Jahr 1978 und zugleich der erste Teil der erfolgreichen Comicverfilmungen um die Geschichte des von Jerry Siegel und Joe Shuster geschaffenen Comichelden Superman.",
        "rating": null,
        "personalRating": null,
        "ageRestrictionId": 4,
        "ageRestriction": {
            "id": 4,
            "name": "USK 12"
        },
        "genres": [
            {
                "id": 2,
                "name": "Action",
                "isChecked": false
            },
            {
                "id": 5,
                "name": "Crime",
                "isChecked": false
            }
        ]
    }

这是我目前拥有的ajax形式。它适用于电影名称,年龄限制和删除,但是我不知道如何从数组中获取流派名称。

 $(document).ready(function () {
        $("#movies").DataTable({
            ajax: {
                url: "/api/movies",
                dataSrc: ""
            },
            columns: [
                {
                    data: "name",
                    render: function (data, type, movie) {
                        return "<a href='/customers/edit/" + movie.id + "'>" + movie.name + "</a>";
                    }
                },
                {
                    data: "duration",
                    render: function (data) {
                        return data + " Minuten"
                    }
                },
                {
                    data: "ageRestriction.name"
                },
                {
                    data: ???
                },
                {
                    data: "id",
                    render: function (data) {
                        return "<button class='btn-link js.delete' data-customer-id=" + data + ">Löschen</button>";
                    }
                }
            ]
        });

我尝试了不同的方法,但没有任何效果。由于我是ajax的新手,所以我觉得我在阵列盒中使用它有点错误。 有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试

{ 
  "data": "[, ].name"
}
  

[]-数组符号。 DataTables可以自动合并来自   数组源,将数据与之间提供的字符连接起来   两个括号。例如:name [,]将提供一个逗号空间   与源数组分开的列表。如果没有提供字符   在方括号之间,将返回原始数组源。