SP 2013 - 试图从列表中获取项目 - 有人说未定义

SP 2013 - Trying to get items from a list - some say undefined

我有一个 SharePoint 2013 文档库,其中一些图像存储在名为“名称”的列中。

我正在尝试获取图像的 URL,但它一直显示“未定义”。 我还尝试获取另一列“MyCol”(单行文本),它说未定义。 我可以从文档库中获取其他信息(例如 JobTitle - 这是一行文本)

有什么想法吗?

编辑:进一步挖掘表明,当我这样做时

console.log(JSON.stringify(data.d.results[result]));

好像没有拉回MyCol值?

谢谢 P

<script>

$.ajax ({
    
    url: _spPageContextInfo.webAbsoluteUrl+"/_api/web/lists/getbytitle('photos')/items?expand=Name",

    dataType: 'json',

    async: false,

    headers: { "Accept": "application/json;odata=verbose" },

    success: function(data) {

        var html = '';

        var count = 0;

        for(var result in data.d.results) {


                html+='Name:' + data.d.results[result].Name + '<br>'; //this gives undefined
                html+='MyCol:' + data.d.results[result].MyCol + '<br>'; //this gives undefined
    
                html+='Job Title:' + data.d.results[result].JobTitle + '<br><br>'; //this gets the data from the Document Library

            count++;

 

            if(count >= 6)

            {

                break;

            }

        }

        $('#staffInformation').append(html);

    },

    error: function ajaxError(response){

        console.log(response.status + ' ' + response.statusText);

    }

});

</script>

$expand 也用于从相关项目(通常是查找或用户字段)中获取数据。

您想要的是 $select 将列指定为 return。使用 FileLeafRef 获取文件名(也可以查看 FileRefFileDirRef :

url: _spPageContextInfo.webAbsoluteUrl+"/_api/web/lists/getbytitle('photos')/items?$select=FileLeafRef"

参考:Use OData query operations in SharePoint REST requests.

附带说明一下,您可以通过更改 headers:

来减少网络占用空间
"Accept": "application/json;odata=nometadata"

响应将只包含数据,不包含元数据。只需调整 returning object 属性 行走(没有中间 d