3

シンプルな共有ポイント アプリで次のコードを実行しようとしていますが、次のエラーが発生しました。

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してください。そうでない場合は、構成値リストの [値] フィールドをクリックして、URL の内部名を確認してください。ここで、[値] 列の正確な内部名を確認できます。 Value1App.js値フィールドの内部名を参照してください

OrgName = oListItem.get_item('Value1');

ここに画像の説明を入力

于 2016-12-01T13:17:35.203 に答える