ECMA脚本错误:集合尚未初始化

时间:2013-02-22 11:18:11

标签: sharepoint sharepoint-2010

我在使用通过JQuery查询SharePoint列表(2010)时遇到此错误 该集合尚未初始化。尚未请求或请求尚未执行。可能需要明确要求。

我循环遍历html select元素中的所有选项并查询SharePoint列表。

     $("#IdeasStatus option").each(function()
    {
        statusCount = statusCount + 1;
        lstStatus.push($(this).val());            
    });

    for (var i = 0; i < lstStatus.length; i++) {
         *****Some Code*********
       retItems = spList.getItems(caml);                       
       spContext.load(retItems);
      spContext.executeQueryAsync(onCategorySuccess, onCategoryFail);}

我在下面的功能中遇到错误

    function onCategorySuccess(sender, args) {
    executionCount++;
    $('input[id$=hidChartParam1]').val($('input[id$=hidChartParam1]').attr('value') + ',' + status);
    $('input[id$=hidChartParam2]').val($('input[id$=hidChartParam2]').attr('value') + ',' + retItems.get_count());
    if (executionCount == statusCount) {
        FillPieChart();
    }
}
在获取计数 retItems.get_count()时会抛出

错误,我认为是因为在循环和进行多次异步调用时使用相同的变量名(retItems)?

请建议我该怎么做?

2 个答案:

答案 0 :(得分:0)

您是否在其他地方致电onCategorySuccess?在使用值填充onCategorySuccess之前,您似乎在retItems

答案 1 :(得分:0)

我相信在调用spList.getItems之前的某个时刻你应该加载到spList的上下文