You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SP 2013调用REST API获取文档库项时Name、MyCol字段返回undefined如何解决

问题原因

  • SharePoint REST API 默认不会返回全部列表字段,仅返回默认视图包含的字段以及部分内置字段。你能正常获取JobTitle是因为该字段被包含在默认返回集中,而自定义字段MyCol、图片类型字段不在默认返回范围内,所以未被带回。
  • 字段的显示名与内部名不匹配:SharePoint 中字段的显示名称和实际的内部调用名可能存在差异,比如文档库内置的文件名称字段的内部名是FileLeafRef而非Name,直接访问Name属性自然返回undefined。如果是自定义的图片类型Name列,你需要先确认它的真实内部名,且图片类型字段为嵌套对象,需要显式展开才能读取内部的URL属性。
  • 请求参数配置错误:你仅写了expand=Name但没有通过$select指定需要获取的字段,也没有对正确的对象(比如文件对象File、图片类型字段对象)做展开,导致需要的字段没有被返回。

解决方案

第一步:确认字段内部名

进入文档库的列表设置页面,点击MyCol、Name列的标题,查看浏览器地址栏中Field=参数后的值,就是该字段的真实内部名,后续调用需要使用这个内部名。

第二步:修改REST请求参数

在请求URL中添加$select显式声明所有你需要获取的字段,同时添加$expand展开嵌套类型的字段(比如文件对象、图片类型字段)。
以下是两种常见场景的修改示例:

场景1:Name对应文档库存储的文件本身,需要获取文件访问URL

<script>
$.ajax ({
    // 显式指定需要的字段,展开File对象获取文件相对路径
    url: _spPageContextInfo.webAbsoluteUrl+"/_api/web/lists/getbytitle('photos')/items?$select=FileLeafRef,MyCol,JobTitle,File/ServerRelativeUrl&$expand=File",
    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) {
            var item = data.d.results[result];
            // FileLeafRef是文件名,File.ServerRelativeUrl是文件的完整相对路径可直接访问
            html+='Name:' + item.File.ServerRelativeUrl + '<br>';
            html+='MyCol:' + item.MyCol + '<br>';
            html+='Job Title:' + item.JobTitle + '<br><br>';
            count++;
            if(count >= 6) break;
        }
        $('#staffInformation').append(html);
    },
    error: function ajaxError(response){
        console.log(response.status + ' ' + response.statusText);
    }
});
</script>

场景2:Name是你自定义的图片类型列,内部名为Name

<script>
$.ajax ({
    // 展开图片类型字段Name获取内部的Url属性
    url: _spPageContextInfo.webAbsoluteUrl+"/_api/web/lists/getbytitle('photos')/items?$select=Name,MyCol,JobTitle&$expand=Name",
    dataType: 'json',
    headers: { "Accept": "application/json;odata=verbose" },
    success: function(data) {
        var html = '';
        var count = 0;
        for(var result in data.d.results) {
            var item = data.d.results[result];
            // 图片类型字段展开后取Url属性
            html+='Name:' + item.Name.Url + '<br>';
            html+='MyCol:' + item.MyCol + '<br>';
            html+='Job Title:' + item.JobTitle + '<br><br>';
            count++;
            if(count >= 6) break;
        }
        $('#staffInformation').append(html);
    },
    error: function ajaxError(response){
        console.log(response.status + ' ' + response.statusText);
    }
});
</script>

内容的提问来源于stack exchange,提问作者Pete Whelan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 15:24:07