如何将SP.CamlQuery的响应体大小减小到大型SharePoint列表?

时间:2012-10-18 18:18:10

标签: javascript sharepoint-2010 caml

我一直无法为sharepoint列表构建有效的caml查询。这是一个包含许多列的非常大的列表。我使用'ViewFields'来减少返回的列,只返回我们需要的三列。这样做,这将返回的文件从8mb减少到4mb,这很棒。如果可能的话,我想进一步减少这个。我注意到响应正文中有一个标记为“元信息”的部分 - 它非常大并且似乎不包含所需的信息,无论如何构建caml查询以省略此信息,或者否则进一步减小响应的大小? 这是我的代码:

clientContext = new SP.ClientContext('/path/to/list');
oList = clientContext.get_web().get_lists().getByTitle('List Name');

camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('<View><Query><Where><Geq><FieldRef Name=\'ID\'/><Value Type=\'Number\'>1</Value></Geq></Where></Query><ViewFields><FieldRef Name=\'Col1\'/><FieldRef Name=\'Col2\'/><FieldRef Name=\'Col3\'/></ViewFields></View>');

this.collListItem = oList.getItems(camlQuery);

clientContext.load(collListItem); 
clientContext.executeQueryAsync(Function.createDelegate(this, this.success), Function.createDelegate(this, this.failed));

1 个答案:

答案 0 :(得分:0)

您可以对请求进行分页,以减少通过网络传输大量数据的负面影响。

SP.ListItemCollectionPosition Class