簡體   English   中英

用Javascript和。來查詢CAML <Contains>

[英]CAML query with Javascript and <Contains>

我們必須在SharePoint的客戶端工作,所以我使用Javascript,而不是C#。 我想用“包含”這樣查詢

function onRequestSucceeded() {
    myList = website.get_lists().getByTitle("Prüfberichte");
    var query = '<Where><Contains><FieldRef Name="Name_x0020_Lieferant_x0020__x0028_Supplier_x0020_name_x0029_"/><Value Type="Text">Hans</Value></Contains></Where>';
    camlQuery = new SP.CamlQuery();
    camlQuery.set_viewXml(query);
    items = myList.getItems(camlQuery);
    clientContext.load(items, 'Include(Id, DisplayName, HasUniqueRoleAssignments)');
    clientContext.executeQueryAsync(onQuerySucceeded, onQueryFailed);
}

不幸的是,這會返回整個列表,而不是包含“Hans”的單個項目。

這是一個“包含”特定的問題,“Eq”工作正常。

歡迎所有幫助!

SharePoint JSOM API中, SP.CamlQuery.viewXml property接受具有以下結構的XML架構

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

例如:

var query=new SP.CamlQuery();
query.set_viewXml('<View Scope="RecursiveAll"><Query><Where><Eq><FieldRef Name="FSObjType" /><Value Type="Integer">1</Value></Eq></Where></Query></View>');

如果提供了無效的 XML模式(就像您的情況一樣),則會忽略查詢並返回所有項目(標准行為),這很可能是它出現在您的案例中的原因。

暫無
暫無

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

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