sharepoint Javascript集合尚未初始化

时间:2016-03-07 13:30:08

标签: javascript sharepoint

您好我试着在MSDN上制作教程。这是链接:https://msdn.microsoft.com/en-us/library/office/hh185007%28v=office.14%29.aspx这是我的Java代码:

<script type="text/javascript">
$(document).ready(function () {
    var scriptbase = "https://example.at/15/";
    $.getScript(scriptbase + "SP.Runtime.js", function () {
        $.getScript(scriptbase + "SP.js", doNext());
    });
});
var siteUrl = "/knowledge/lzpowerbase";
function doNext() {
    console.log("SharePoint geladen!!");
    retrieveListItems(siteUrl);
}
function retrieveListItems(siteUrl) {
    var clientContext = new SP.ClientContext(siteUrl);
    var oList = clientContext.get_web().get_lists().getByTitle('Component Documents');    
    var camlQuery = new SP.CamlQuery();
    camlQuery.set_viewXml('<View><Query><Where><Geq><FieldRef Name=\'ID\'/>' + 
        '<Value Type=\'Number\'>1</Value></Geq></Where></Query><RowLimit>10</RowLimit></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 listItemEnumerator = collListItem.getEnumerator();        
    while (listItemEnumerator.moveNext()) {
        var oListItem = listItemEnumerator.get_current();
        listItemInfo += '\nID: ' + oListItem.get_id() + 
            '\nTitle: ' + oListItem.get_item('Title') + 
            '\nBody: ' + oListItem.get_item('Body');
    }
    alert(listItemInfo.toString());
}
function onQueryFailed(sender, args) {
    alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}
</script>

每次我尝试运行它时都会说:错误:集合尚未初始化。尚未请求或请求尚未执行。可能需要明确要求。

我不知道为什么。我试图谷歌但它没有找到任何东西因为我不是特定的东西我想要列表中的所有东西所以我可以访问和使用它。任何帮助都会很棒。 THX

1 个答案:

答案 0 :(得分:1)

在此示例中,由于行:

而发生指定的错误
$.getScript(scriptbase + "SP.js", doNext());

由于doNext函数调用无效,collListItem对象在这种情况下未初始化。

解决方案

由于jQuery.getScript()接受回调函数作为第二个参数,请替换以下行:

$.getScript(scriptbase + "SP.js", doNext());

使用:

$.getScript(scriptbase + "SP.js", doNext);