Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 什么';这项骆驼条款有什么错_Javascript_Sharepoint 2013_Caml - Fatal编程技术网

Javascript 什么';这项骆驼条款有什么错

Javascript 什么';这项骆驼条款有什么错,javascript,sharepoint-2013,caml,Javascript,Sharepoint 2013,Caml,只是学习如何使用骆驼和有问题。我可以正确地执行两个不同的查询,但当我组合它们时,会收到一条错误消息。我看了文档,仍然不知道问题出在哪里 查询1: var specifier1 = "<Where><Eq><FieldRef Name='Requestor_x0020_Name' LookupId='True'/><Value Type='Lookup'>" + "<UserID/&g

只是学习如何使用骆驼和有问题。我可以正确地执行两个不同的查询,但当我组合它们时,会收到一条错误消息。我看了文档,仍然不知道问题出在哪里

查询1:

   var specifier1 = "<Where><Eq><FieldRef Name='Requestor_x0020_Name' LookupId='True'/><Value Type='Lookup'>" +
                           "<UserID/></Value></Eq></Where>";
   var specifier2 = "<Where><Eq><FieldRef Name='ID'/><Value Type='Text'>"+currentItemID+"</Value>"+
                           "</Eq></Where>";
   var specifier = "<Where><And><Eq><FieldRef Name='Requestor_x0020_Name' LookupId='True'/><Value Type='Lookup'>" +
                           "<UserID/></Value></Eq><And><Eq>"+
                           "<FieldRef Name='ID'/><Value Type='Text'>"+currentItemID+"</Value>"+
                           "</Eq></And></And></Where>";
设置字符串后,我有以下调用。当你有条件的时候,也许需要有所不同?枚举器循环中的console.log似乎是失败的地方。错误消息似乎跟在6x后面:xxxxxx

   camlQuery.set_viewXml("<View><Query>"+specifier+"</Query></View>");
   var collListItems = list.getItems(camlQuery);
   ctx.load(collListItems);
   ctx.executeQueryAsync(
        function(){
            var enumerator = collListItems.getEnumerator();
            count = collListItems.get_count();
            while(enumerator.moveNext()){
                var item = enumerator.get_current();
                console.log("xxxxxID : " + item.get_id());
            }
            if (count == 0) {
                LockDownCells();
            }
        },
        function(sender,args){
             console.log("xxxxxxRequest Failed."+args.get_message() + "\n" + args.get_stackTrace());
        }
    );
camlQuery.set_viewXml(“+说明符+”);
var collListItems=list.getItems(camlQuery);
ctx.负载(列项目);
ctx.executeQueryAsync(
函数(){
var enumerator=collListItems.getEnumerator();
count=collListItems.get_count();
while(枚举数.moveNext()){
var item=enumerator.get_current();
console.log(“xxxxx id:+item.get_id());
}
如果(计数=0){
锁定细胞();
}
},
函数(发送方,参数){
console.log(“XXXXXX请求失败。”+args.get_message()+“\n”+args.get_stackTrace());
}
);
试试这个:

<Query>
   <Where>
      <And>
         <Eq>
            <FieldRef Name='ID'/>
            <Value Type='Text'>currentItemID</Value>
         </Eq>
         <Eq>
            <FieldRef Name='Requestor_x0020_Name' LookupId='True'/><Value Type='Lookup'>
            <UserID/></Value>
         </Eq>
      </And>
   </Where>
</Query>

currentItemID
试试这个:

<Query>
   <Where>
      <And>
         <Eq>
            <FieldRef Name='ID'/>
            <Value Type='Text'>currentItemID</Value>
         </Eq>
         <Eq>
            <FieldRef Name='Requestor_x0020_Name' LookupId='True'/><Value Type='Lookup'>
            <UserID/></Value>
         </Eq>
      </And>
   </Where>
</Query>

currentItemID

按如下方式修改代码

<script type="text/javascript">
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', retrieveListItems);
function retrieveListItems(){
    var currentItemID=2;     
    var listTitle="CL1017"; 
    var specifier = "<Where><And>"+
                     "<Eq><FieldRef Name='Requestor_x0020_Name' LookupId='True'/><Value Type='Lookup'><UserID/></Value></Eq>"+
                     "<Eq><FieldRef Name='ID'/><Value Type='Text'>"+currentItemID+"</Value></Eq>"+
                     "</And></Where>";

    var ctx = new SP.ClientContext.get_current();
    var list = ctx.get_web().get_lists().getByTitle(listTitle);
    var camlQuery = new SP.CamlQuery();
    camlQuery.set_viewXml("<View><Query>"+specifier+"</Query></View>");
    var collListItems = list.getItems(camlQuery);
    ctx.load(collListItems);
    ctx.executeQueryAsync(
        function(){
            var enumerator = collListItems.getEnumerator();
            count = collListItems.get_count();
            while(enumerator.moveNext()){
                var item = enumerator.get_current();
                console.log("xxxxxID : " + item.get_id());
            }
            if (count == 0) {
                //LockDownCells();
            }
        },
        function(sender,args){
             console.log("xxxxxxRequest Failed."+args.get_message() + "\n" + args.get_stackTrace());
        }
    );
}
</script>

SP.SOD.executeFunc('SP.js','SP.ClientContext',retrieveListItems);
函数retrieveListItems(){
var currentItemID=2;
var listTitle=“CL1017”;
变量说明符=“”+
""+
“”+currentItemID+“”+
"";
var ctx=new SP.ClientContext.get_current();
var list=ctx.get_web().get_list().getByTitle(listTitle);
var camlQuery=new SP.camlQuery();
camlQuery.set_viewXml(“+说明符+”);
var collListItems=list.getItems(camlQuery);
ctx.负载(列项目);
ctx.executeQueryAsync(
函数(){
var enumerator=collListItems.getEnumerator();
count=collListItems.get_count();
while(枚举数.moveNext()){
var item=enumerator.get_current();
console.log(“xxxxx id:+item.get_id());
}
如果(计数=0){
//锁定细胞();
}
},
函数(发送方,参数){
console.log(“XXXXXX请求失败。”+args.get_message()+“\n”+args.get_stackTrace());
}
);
}
如果您只想按项ID查询列表项,我建议您使用下面的代码,我们不需要使用CAML查询

<script type="text/javascript">
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', retrieveListItems);
function retrieveListItems(){
    var itemId=2;    
    var listTitle="CL1017";                          
    var ctx = new SP.ClientContext.get_current();
    var list = ctx.get_web().get_lists().getByTitle(listTitle);  
    var listItem = list.getItemById(itemId);
    ctx.load(listItem);
    ctx.executeQueryAsync(
        function(){
            console.log("xxxxxID : " + listItem.get_id());
        },
        function(sender,args){
             console.log("xxxxxxRequest Failed."+args.get_message() + "\n" + args.get_stackTrace());
        }
    );
}
</script>

SP.SOD.executeFunc('SP.js','SP.ClientContext',retrieveListItems);
函数retrieveListItems(){
var-itemId=2;
var listTitle=“CL1017”;
var ctx=new SP.ClientContext.get_current();
var list=ctx.get_web().get_list().getByTitle(listTitle);
var listItem=list.getItemById(itemId);
ctx.load(列表项);
ctx.executeQueryAsync(
函数(){
log(“XXXXX id:+listItem.get_id());
},
函数(发送方,参数){
console.log(“XXXXXX请求失败。”+args.get_message()+“\n”+args.get_stackTrace());
}
);
}

按如下方式修改代码

<script type="text/javascript">
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', retrieveListItems);
function retrieveListItems(){
    var currentItemID=2;     
    var listTitle="CL1017"; 
    var specifier = "<Where><And>"+
                     "<Eq><FieldRef Name='Requestor_x0020_Name' LookupId='True'/><Value Type='Lookup'><UserID/></Value></Eq>"+
                     "<Eq><FieldRef Name='ID'/><Value Type='Text'>"+currentItemID+"</Value></Eq>"+
                     "</And></Where>";

    var ctx = new SP.ClientContext.get_current();
    var list = ctx.get_web().get_lists().getByTitle(listTitle);
    var camlQuery = new SP.CamlQuery();
    camlQuery.set_viewXml("<View><Query>"+specifier+"</Query></View>");
    var collListItems = list.getItems(camlQuery);
    ctx.load(collListItems);
    ctx.executeQueryAsync(
        function(){
            var enumerator = collListItems.getEnumerator();
            count = collListItems.get_count();
            while(enumerator.moveNext()){
                var item = enumerator.get_current();
                console.log("xxxxxID : " + item.get_id());
            }
            if (count == 0) {
                //LockDownCells();
            }
        },
        function(sender,args){
             console.log("xxxxxxRequest Failed."+args.get_message() + "\n" + args.get_stackTrace());
        }
    );
}
</script>

SP.SOD.executeFunc('SP.js','SP.ClientContext',retrieveListItems);
函数retrieveListItems(){
var currentItemID=2;
var listTitle=“CL1017”;
变量说明符=“”+
""+
“”+currentItemID+“”+
"";
var ctx=new SP.ClientContext.get_current();
var list=ctx.get_web().get_list().getByTitle(listTitle);
var camlQuery=new SP.camlQuery();
camlQuery.set_viewXml(“+说明符+”);
var collListItems=list.getItems(camlQuery);
ctx.负载(列项目);
ctx.executeQueryAsync(
函数(){
var enumerator=collListItems.getEnumerator();
count=collListItems.get_count();
while(枚举数.moveNext()){
var item=enumerator.get_current();
console.log(“xxxxx id:+item.get_id());
}
如果(计数=0){
//锁定细胞();
}
},
函数(发送方,参数){
console.log(“XXXXXX请求失败。”+args.get_message()+“\n”+args.get_stackTrace());
}
);
}
如果您只想按项ID查询列表项,我建议您使用下面的代码,我们不需要使用CAML查询

<script type="text/javascript">
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', retrieveListItems);
function retrieveListItems(){
    var itemId=2;    
    var listTitle="CL1017";                          
    var ctx = new SP.ClientContext.get_current();
    var list = ctx.get_web().get_lists().getByTitle(listTitle);  
    var listItem = list.getItemById(itemId);
    ctx.load(listItem);
    ctx.executeQueryAsync(
        function(){
            console.log("xxxxxID : " + listItem.get_id());
        },
        function(sender,args){
             console.log("xxxxxxRequest Failed."+args.get_message() + "\n" + args.get_stackTrace());
        }
    );
}
</script>

SP.SOD.executeFunc('SP.js','SP.ClientContext',retrieveListItems);
函数retrieveListItems(){
var-itemId=2;
var listTitle=“CL1017”;
var ctx=new SP.ClientContext.get_current();
var list=ctx.get_web().get_list().getByTitle(listTitle);
var listItem=list.getItemById(itemId);
ctx.load(列表项);
ctx.executeQueryAsync(
函数(){
log(“XXXXX id:+listItem.get_id());
},
函数(发送方,参数){
console.log(“XXXXXX请求失败。”+args.get_message()+“\n”+args.get_stackTrace());
}
);
}

我使用U2U CAML查询生成器来帮助构建这些类型的查询。它连接到您的Sharepoint网站,因此您可以逐块构建查询。我尝试加载它,但由于一些奇怪的原因,我无法连接到我们的on-prem解决方案。它问我的网站名,我用的是我自己的证件,它不让我进去。服务器正在以某种禁止的消息进行响应。我猜我们的IT正在阻止我通过这个机制访问。更改此访问权限并不简单。国家局。lolI使用U2U CAML查询生成器来帮助构建这些类型的查询。它连接到您的