3

我正在尝试在一个简单的 sharepoint 应用程序中运行以下代码,但出现此错误:

Uncaught Error: The property or field has not been initialized. It has not been requested or the request has not been executed. It may need to be explicitly requested. 

代码是这样的:

var collListItems;
$(document).ready(function () {
    getConfigValues();
});
function getConfigValues() {
    var context = SP.ClientContext.get_current();
    var configList = context.get_web().get_lists().getByTitle('Configuration Values');
    var camlQuery = new SP.CamlQuery();
    collListItems = configList.getItems(camlQuery);
    context.load(collListItems);
    context.executeQueryAsync(onGetConfigValuesSuccess, onGetConfigValuesFail);
}
function onGetConfigValuesSuccess() {
    var OrgLogoUrl;
    var OrgName;
    var listItemEnumerator = collListItems.getEnumerator();
    while (listItemEnumerator.moveNext()) {
        var oListItem = listItemEnumerator.get_current();
        var current = oListItem.get_item('Title');
        switch (current) {
            case 'OrganizationName':
                OrgName = oListItem.get_item('Value');
                break;
            case 'OrganizationLogoUrl':
                OrgLogoUrl = oListItem.get_item('Value');
                break;
        };
    }
    if (OrgName && OrgName.length > 0) {
        $('#DeltaPlaceHolderPageTitleInTitleArea').html(OrgName);
        $('.ms-siteicon-img').attr('title', OrgName);
    }
    if (OrgLogoUrl && OrgLogoUrl.length > 0)
        $('.ms-siteicon-img').attr('src', OrgLogoUrl);
    else
        $('.ms-siteicon-img').attr('src', '../Images/AppLogo.png');
}
function onGetConfigValuesFail(sender, args) {
    alert('Failed to get the Configuration Values. Error:' + args.get_message());
}

代码来自一本书,没有任何修改:

OrgName = oListItem.get_item('Value');
4

2 回答 2

7

由于以下原因之一,可能会发生指定的错误:

  1. Value列表中不存在具有内部名称的列Configuration Values

    由于SP.ListItem.item 属性 需要字段内部名称,请确保具有此类名称的字段存在于列表中。

  2. Value无法隐式加载字段的列表项值。

    解决方案:尝试使用SP.ClientContext.load 方法明确指定要加载的列表项属性。换行:

    context.load(collListItems);
    

    context.load(collListItems,'Include(Title,Value)');
    
于 2014-08-31T21:18:41.710 回答
0

请更改Value为文件Value1App.js,如果没有,它会为您工作正常然后请单击配置值列表中的值字段并检查 URL 中的内部名称,在这里您将找到您列值的确切内部名称。 查看 Value 字段的内部名称

OrgName = oListItem.get_item('Value1');

在此处输入图像描述

于 2016-12-01T13:17:35.203 回答