&引用;getEnumerator不是函数";Javascript(Sharepoint在线)

&引用;getEnumerator不是函数";Javascript(Sharepoint在线),javascript,list,sharepoint,get,Javascript,List,Sharepoint,Get,有人知道我为什么会这样吗 “未捕获的TypeError:list.getEnumerator不是函数” 在我的OnSuccess()函数中 以前,当我试图获取网站集中所有列表的标题时,这段代码工作得很好 现在,我想在名为testIssues的列表中获取分配给John Doe的所有行的标题 我错过了什么 'use strict'; var clientContext = new SP.ClientContext.get_current(); var hostweburl = decodeURICo

有人知道我为什么会这样吗

“未捕获的TypeError:list.getEnumerator不是函数”

在我的OnSuccess()函数中

以前,当我试图获取网站集中所有列表的标题时,这段代码工作得很好

现在,我想在名为
testIssues
的列表中获取分配给John Doe的所有行的标题

我错过了什么

'use strict';
var clientContext = new SP.ClientContext.get_current();
var hostweburl = decodeURIComponent(getQueryStringParameter("SPHostUrl"));
var parentContext = new SP.AppContextSite(clientContext, hostweburl);
var parentWeb = parentContext.get_web();
var list = parentWeb.get_lists().getByTitle("testIssues");
var listItems;

$(document).ready(function () {

});

function VisaLista() {
    var camlQuery = new SP.CamlQuery();
    camlQuery.set_viewXml("<View><Query><Where><Geq><FieldRef Name='p32c'/>" +
    "<Value Type='User'>John doe</Value></Geq></Where></Query></View>");
    listItems = list.getItems(camlQuery);
    clientContext.load(listItems);
    clientContext.executeQueryAsync(OnSuccess, OnFail);
}

function OnSuccess() {
    var listString;
    var listEnumerator = list.getEnumerator();
    while (listEnumerator.moveNext()) {
        var currentItem = listEnumerator.get_current();
        listString += "<br/> " + currentItem.get_title();
    }
    $('#divAllaListor').html(listString);
}

function OnFail(sender, args) {
    alert('Failed, Error:' + args.get_message());
}

function getQueryStringParameter(param) {
    var params = document.URL.split("?")[1].split("&");
    var strParams = "";
    for (var i = 0; i < params.length; i = i + 1) {
        var singleParam = params[i].split("=");
        if (singleParam[0] == param) {
            return singleParam[1];
        }
    }
}
“严格使用”;
var clientContext=new SP.clientContext.get_current();
var hostweburl=decodeURIComponent(getQueryStringParameter(“SPHostUrl”);
var parentContext=new SP.AppContextSite(clientContext,hostweburl);
var parentWeb=parentContext.get_web();
var list=parentWeb.get_list().getByTitle(“testIssues”);
var列表项;
$(文档).ready(函数(){
});
函数VisaLista(){
var camlQuery=new SP.camlQuery();
camlQuery.set_viewXml(“”)+
“无名氏”);
listItems=list.getItems(camlQuery);
加载(listItems);
executeQueryAsync(OnSuccess,OnFail);
}
函数OnSuccess(){
var-listString;
var listEnumerator=list.getEnumerator();
while(listEnumerator.moveNext()){
var currentItem=ListNumerator.get_current();
listString+=“
”+currentItem.get_title(); } $('#divAllaListor').html(listString); } 函数OnFail(发送方,参数){ 警报('失败,错误:'+args.get_message()); } 函数getQueryStringParameter(参数){ var params=document.URL.split(“?”[1]。split(“&”); var strParams=“”; 对于(变量i=0;i
您的问题可能与执行代码的时间有关,您必须确保在页面加载过程的正确时刻执行代码。尝试使用
$(window).load
window.onload
,然后通过使用
SP.SOD.executeFunc
executeOrderLayintilScriptLoaded
确保SharePoint JS库的加载,示例如下:

$(window).load(function(){
     SP.SOD.executeFunc('sp.js', 'SP.ClientContext', function (){
          var clientContext = new SP.ClientContext.get_current();
          var hostweburl = decodeURIComponent(getQueryStringParameter("SPHostUrl"));
          var parentContext = new SP.AppContextSite(clientContext, hostweburl);
          var parentWeb = parentContext.get_web();
          var list = parentWeb.get_lists().getByTitle("testIssues");
          var listItems;
          //Call your function here
          VisaLista();
     });
});
查看此线程以了解更多详细信息


您正在将列表项加载到名为
listItems
的变量中,而不是
list


尝试
var listEnumerator=listItems.getEnumerator()

确保在加载
SP.js
库后初始化了上下文。您应该在开发人员工具的帮助下调试代码,并检查
列表
对象中出现了什么(我猜它是以
null
的形式出现的,这可能就是原因。)