簡體   English   中英

通過JSOM獲取當前用戶更改的項目

[英]Get items, changed by current user, via JSOM

在SharePoint 2013 JavaScript中,我想從列表中加載當前用戶已修改的所有項目。 我嘗試了這個:

var ctx = SP.ClientContext.get_current();
var settings = ctx.get_web().get_lists().getByTitle('My Setting List');

var settingQuery = new SP.CamlQuery();
settingQuery.set_viewXml('<Query><Where><Eq><FieldRef Name="Editor" LookupId="TRUE" /><Value Type="Integer"><UserID /></Value></Eq></Where></Query>');
var settingItems = settings.getItems(settingQuery);

ctx.load(settingItems, 'Include(Id, Title)');
ctx.executeQueryAsync( /* ... */ );

但這給了我所有用戶的所有物品。 我做錯了什么?

SP.CamlQuery.viewXml屬性期望以以下格式指定XML模式:

<View>
   <Query>
      ...
    </Query>
</View>

因此,解決方案是使用View元素將查詢括起來。

var ctx = SP.ClientContext.get_current();
var list = ctx.get_web().get_lists().getByTitle(listTitle);
var qry = new SP.CamlQuery();
qry.set_viewXml('<View><Query><Where><Eq><FieldRef Name="Editor" LookupId="TRUE" /><Value Type="Integer"><UserID /></Value></Eq></Where></Query></View>');
var items = list.getItems(qry);

ctx.load(items, 'Include(Id, Title)');
ctx.executeQueryAsync( 
      function() {
         console.log(items.get_count());
      },
      function(sender,args){
         console.log(args.get_message());
      });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM