Javascript Caml生成器查询在代码中不起作用
我有麻烦了!我有一个sharepoint网站,其中有一个照片库列表照片库。我需要查询此列表并从指定的galleryfolder中带回图像。我开发了一个带有“选择”菜单的web部件,可加载此照片库中的所有galeriesfolders。然后,当我选择一个特定的galleryfolder时,一个模式会显示该galleryfolder中的图像。但我无法恢复正确的结果。查询只返回列表中所有galleriesfolders的列表。不返回任何图像。但有趣的是,当我停止浏览器并用文件夹值复制查询并将其粘贴到Caml query Helper中时,查询工作正常!我的问题是:Javascript Caml生成器查询在代码中不起作用,javascript,sharepoint-2013,caml,csom,Javascript,Sharepoint 2013,Caml,Csom,我有麻烦了!我有一个sharepoint网站,其中有一个照片库列表照片库。我需要查询此列表并从指定的galleryfolder中带回图像。我开发了一个带有“选择”菜单的web部件,可加载此照片库中的所有galeriesfolders。然后,当我选择一个特定的galleryfolder时,一个模式会显示该galleryfolder中的图像。但我无法恢复正确的结果。查询只返回列表中所有galleriesfolders的列表。不返回任何图像。但有趣的是,当我停止浏览器并用文件夹值复制查询并将其粘贴到C
var camlQ = new SP.CamlQuery();
camlQ.set_viewXml("<Where><And><Eq><FieldRef Name=\"ContentType\" /><Value Type=\"Text\">Image</Value></Eq><Contains><FieldRef Name=\"FileRef\" /><Value Type=\"Text\">" + VALUE_FROM_OPTION + "</Value></Contains></And></Where>");
var clientCtx = new SP.ClientContext.get_current();
this.results = clientCtx.get_web().get_lists().getByTitle("PHOTO_GALLERY_NAME").getItems(camlQ);
clientCtx.load(this.results);
clientCtx.executeQueryAsync(Function.createDelegate(this, function(sender, args){
// SOME CODE
}), Function.createDelegate(this, function(sender, args){
// SOME CODE
}));
您的CAML查询似乎是正确的,但SP.CamlQuery.set_view方法接受根元素为的xml,并且还需要视图查询元素 因此,将Where块包装在查询元素中,然后包装在视图元素中,例如:
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>');