2016-04-13 11 views
0

こんにちは、特定のフィールドを持つ配列に値を設定しようとします。しかし、私はいつも得ます: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.私はSharepoint 2013で、私はsharepointから内部名を使用しています。 Caml Queryに何か問題があると私は思います。ここでなぜ私はいつも取得プロパティまたはフィールドが初期化されていないのですか?

は、私が使用するコードです:

function retrieveListItems(siteUrl) { 

     var clientContext = new SP.ClientContext(siteUrl); 
     var oList = clientContext.get_web().get_lists().getByTitle('MatrixFiles'); 

     var camlQuery = new SP.CamlQuery(); 
     camlQuery.set_viewXml('<View><ViewFields><FieldRef Name="LinkFilename" /><FieldRef Name="WebCountry" /><FieldRef Name="WebDepartment" /><FieldRef Name="FileLeafRef" /></ViewFields><Query><OrderBy><FieldRef Name="LinkFilename" /></OrderBy></Query></View>'); 
     this.collListItem = oList.getItems(camlQuery); 

     clientContext.load(collListItem); 

     clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed)); 

    } 

そして、ここで配列と他の部分:

function onQuerySucceeded(sender, args) { 

    var listItemInfo = ''; 
    var array = []; 

    var listItemEnumerator = this.collListItem.getEnumerator(); 

    while (listItemEnumerator.moveNext()) { 
     var oListItem = listItemEnumerator.get_current(); 
     console.log(oListItem); 

     array.push(oListItem); 



    } 

    alert(oListItem.get_item('LinkFilename')); 


} 

奇妙なことがSPListItemsで配列満たされますが、私が使用しようとすると、エラーが発生したアラート内の特定のフィールド。何故手がかりがないのですか。

あなたの時間はどんな助けになるでしょう。

私はこれにSP Caml Query helperを使用しました。

答えて

1

このエラーは、sp.jsスクリプトがロードされていないために発生していると考えられます。

試してみてください。

//Insert this right after your opening script tag 
    ExecuteOrDelayUntilScriptLoaded(retrieveListItems, "sp.js"); 

    //then your function as written above 
    function retrieveListItems(siteUrl) { etc...}; 

また、この答えは役に立つかもしれ:SharePoint 2013 add javascript after whole page load

関連する問題