Javascript SharePoint COM正在从同一页面上的站点和子站点检索列表数据

Javascript SharePoint COM正在从同一页面上的站点和子站点检索列表数据,javascript,sharepoint,Javascript,Sharepoint,我试图从一个页面中的站点和几个级别的子站点访问列表数据。 我在网上搜索了一下,尝试应用在堆栈溢出上找到的一些解决方案,但没有效果。 这是我正在使用的简化代码 // parent-level var clientCtx = new SP.ClientContext.get_current(); getListItems(listName, camlView,fields, clientCtx); //sub-site level clientCtx = new SP.ClientConte

我试图从一个页面中的站点和几个级别的子站点访问列表数据。 我在网上搜索了一下,尝试应用在堆栈溢出上找到的一些解决方案,但没有效果。 这是我正在使用的简化代码

// parent-level 
var clientCtx = new SP.ClientContext.get_current(); 

getListItems(listName, camlView,fields, clientCtx);

//sub-site level
clientCtx = new SP.ClientContext(subSiteUrl);
getListItems((listName, camlView,fields, clientCtx);
此代码适用于父站点,但不适用于子站点。 在子站点的getListItems函数中传递的客户端上下文包含正确的URL,并且似乎实例化了所有对象:web、list、listItems等,但无法枚举带有“未知错误”的列表项。同样的事情发生在我尝试过的两个子网站上

function getListItems(listName, queryString, fields, clientCtx)
{
web = clientCtx.get_web();
var list = web.get_lists().getByTitle(listName);       
var query = new SP.CamlQuery();
query.set_viewXml(queryString);
var listItems = list.getItems(query);

query.set_viewXml(queryString);
var listItems = list.getItems(query);
var fieldList = fields.join(",");

clientCtx.load(listItems); 

clientCtx.executeQueryAsync(function () {
var resultItems = [];
var listItemEnumerator = listItems.getEnumerator();
while (listItemEnumerator.moveNext()) {
     var listItem = listItemEnumerator.get_current();                          

     var fieldValues = listItem.get_fieldValues();
     var resultItem = {};                           
     for (var i = 0; i < fields.length; i++) {
          resultItem[fields[i]] = listItem.get_item(fields[i]);
     }
     resultItems.push(resultItem);
}
return resultItems;
}
...
函数getListItems(listName、queryString、字段、clientCtx) { web=clientCtx.get_web(); var list=web.get_lists().getByTitle(listName); var query=new SP.CamlQuery(); query.set_viewXml(queryString); var listItems=list.getItems(查询); query.set_viewXml(queryString); var listItems=list.getItems(查询); var fieldList=fields.join(“,”); clientCtx.load(列表项); clientCtx.executeQueryAsync(函数(){ var resultItems=[]; var listItemEnumerator=listItems.getEnumerator(); while(listItemEnumerator.moveNext()){ var listItem=listItemEnumerator.get_current(); var fieldValues=listItem.get_fieldValues(); var resultItem={}; 对于(变量i=0;i }