Rest API显示[object Object]而不是数组对象

时间:2019-01-11 23:09:08

标签: javascript jquery html rest sharepoint

我正在使用Rest API从SharePoint列表中提取数据并将结果显示在网页上。我将如何定位这两个数组项?我在[object Object]中收到的所有信息 [enter image description here

以绿色边框表示成功,红色表示我仍然有问题。

因此,我能够正确提取标记为“标题”的专营权编号,但无法从阵列的“ RelatedIssues-> results-> Title”中提取结果,我将如何要这样做吗?
enter image description here

这是控制台的图片,显示我可以看到该数组,并且正在提取两个RelatedIssues标题结果。 enter image description here

代码:                                    

<style>
.top {
    margin-bottom: 15px;
}
.csv, .txt, .xls, .xlsx {
    margin-right: 4px;
    margin-left: 4px;
}
</style>

<div id="title" style="width: 100%"></div>

<script>
$(document).ready(function() {
    var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('HISC Franchise Information 2017')/items?$select=Title,RelatedIssues/Title&$expand=RelatedIssues";
    $.ajax({
        url: requestUri,
        type: "GET",
        headers: {
            "accept":"application/json; odata=verbose"
        },
        success: function(data) {
            onSuccess(data);
            ExportTable();
        }
    });

    function onSuccess(data) {
        var item = data.d.results;
        var tableContent = '<table id="TablePanel" border="1px;"><thead><tr><th>Franchise Number</th>' + '<th>Rank</th>' + '<th>Franchises</th>' + '</tr></thead><tbody>';
        for (var i = 0; i < item.length; i++) {
            tableContent += '<tr>'
            tableContent += '<td>' + item[i].Title + '</td>';
            tableContent += '<td>' + item[i].RelatedIssues.results + '</td>';
            tableContent += '<td>' + item[i].Franchises + '</td>';
            tableContent += '</tr>';
            tableContent += '</tbody></thead>';
        }
        $('#title').append(tableContent);
    }

    function ExportTable() {
        $("tableContent").tableExport({
            headings: true,
            footers: true,
            formats: ["xls", "csv", "txt"],
            fileName: "id",
            bootstrap: true,
            position: "top",
            ignoreRows: false,
            ignoreCols: false,
            ignoreCSS: ".tableexport-ignore"
        });
    }
});
</script>

1 个答案:

答案 0 :(得分:3)

我认为您需要对结果进行映射以获得所需的信息。您的情况可能是

tableContent += '<td>' + item[i].RelatedIssues.results.map(r => r.Title).join(',') + '</td>';