gpt4 book ai didi

javascript - Caml 构建器查询在代码中不起作用

转载 作者:行者123 更新时间:2023-12-03 12:30:13 24 4
gpt4 key购买 nike

我这里遇到麻烦了!我有一个共享点网站,其中有一个照片库列表(PhotoGallery)。我需要查询此列表是否从指定的图库(文件夹)中带回图像。我开发了一个带有选择菜单的 Web 部件,该菜单加载此照片库中的所有画廊(文件夹)。然后,当我选择特定的画廊(文件夹)时,会显示一个模式,其中包含该画廊(文件夹)中的图像。但我无法带回正确的结果。该查询仅返回列表中所有画廊(文件夹)的列表。没有返回图像。但有趣的是,当我停止浏览器并复制带有文件夹值的查询并将其粘贴到Caml Query Helper中时,查询工作得很好!我的查询是:

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 方法接受根元素为 View 的 xml(Query 元素也是必需的)。

因此,将 Where block 包装在 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>');

关于javascript - Caml 构建器查询在代码中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23965746/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com