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

标签 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>

最佳答案

我认为您需要映射结果才能获得您需要的内容。在你的情况下,它可能是这样的

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

关于javascript - Rest API 显示 [object Object] 而不是数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54155219/

相关文章:

jquery - Grails jQuery的更改

javascript - 隐藏 Bootstrap 3 Modal 和 AngularJS 重定向($location.path)

javascript - 获得最接近所选选项的最快方法

jquery - 在 Twitter Bootstrap 中对齐可折叠按钮

php 复选框总是显示已选中

javascript - 具有编译功能和 ng-show 的 Angular 对话框指令不起作用

javascript - 用圆形颜色动画填充div

javascript - 外部 JS 文件在 HTML 页面中不起作用

javascript - 使用 JS 代码的移动响应

javascript - BackboneJS - 导航菜单