2014-12-05 35 views
0

我有一个简单的JavaScript,它引发了以下错误:SCRIPT5022:集合尚未初始化。它没有被请求或请求未被执行

SCRIPT5022:该集合尚未初始化。它没有被请求或者请求没有被执行。可能需要明确要求。

我在内容编辑器WebPart的O365下使用它。我有一个名为“myTestList”的列表,其中有几个项目和一个名为“points”的列。我只想检索我创建的项目并将点数显示在div内。这是我的代码。

<div id="myPoints" style="font-size: 50px;">0​</div> 

<script language="javascript" type="text/javascript"> 

SP.SOD.executeOrDelayUntilScriptLoaded(retrieveMyItems, "sp.js"); 

function retrieveMyItems() { 
    var clientContext = new SP.ClientContext.get_current(); 
    var oList = clientContext.get_web().get_lists().getByTitle('myTestList'); 

    var camlQuery = new SP.CamlQuery(); 
    camlQuery.set_viewXml("<View><Query><Where><Eq><FieldRef Name='Author' /><Value Type='Integer'><UserID /></Value></Eq></Where></Query></View>"); 
    this.collListItem = oList.getItems(camlQuery); 

    clientContext.load(collListItem, 'Include(points)'); 

    clientContext.executeQueryAsync(Function.createDelegate(this, this.onMyItemsQuerySucceeded), Function.createDelegate(this, this.onMyItemsQueryFailed)); 
} 

function onMyItemsQuerySucceeded(sender, args) { 
    var listItemInfo = 0; 
    var listItemEnumerator = collListItem.getEnumerator(); 

    while (listItemEnumerator.moveNext()) { 
     var oListItem = listItemEnumerator.get_current(); 
     listItemInfo = listItemInfo + parseInt(oListItem.get_item('points')); 
    } 

    var div = document.getElementById("myPoints"); 
    div.innerHTML = listItemInfo; 
} 

function onMyItemsQueryFailed(sender, args) { 
    alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace()); 
} 

</script>​ 

这里有什么错?

更新 解决!该set_viewXml

camlQuery.set_viewXml("<View><Query><Where><Eq><FieldRef Name='Author' /><Value Type='Integer'><UserID Type='Integer'/></Value></Eq></Query></Where></View>"); 

我不得不添加

+0

有没有人的想法来延长? – STORM 2014-12-07 11:33:18

回答

1

更新解决!该set_viewXml

camlQuery.set_viewXml("<View><Query><Where><Eq><FieldRef Name='Author' /><Value Type='Integer'><UserID Type='Integer'/></Value></Eq></Query></Where></View>"); 

必须与

<Query><Where>