无法访问 SharePoint CAML 查询的多维数组元素

如何解决无法访问 SharePoint CAML 查询的多维数组元素

我正在尝试创建一个多维数组来访问单个数组元素。

该数组是从一个三行两列(标题、网址)的列表中提取的。如果 cat 的变量设置为“cats”,那么我会得到包含列表中所有元素的单行数据的输出。按顺序输出并以逗号分隔如:Title[0][0],Url[0][1],Title[1][0],Url[1][1],Title[2][0],网址[2][1]。

如果我将cats设置为cats[0][0]和cats[0][1],我可以访问各个元素,但只能访问第一行。

但是,当我尝试通过执行cats[1][0],cats[1][1],cats[2][0] 或cats[2][1] 来访问第2 行或第3 行中的数组项时] 数组变为空。

有人能指出我正确的方向吗?

<script src="/Utilities/jquery.min.js"></script>
<p style="font-size:20px;" width="500px;" id="Ptask"></p>
<script>

SP.soD.executeOrDelayUntilScriptLoaded(retrivetasklistitems,'SP.js');


var colltaskListItem;
var listItemArray = [];
var cats = [];
var tasks;


        function retrivetasklistitems() {
            var clientContext = new SP.ClientContext.get_current();
            var oList = clientContext.get_web().get_lists().getByTitle('banner');
    
            var camlQuery = new SP.CamlQuery();
            camlQuery.set_viewXml(
                '<View><Query><Where><IsNotNull><FieldRef Name="Url"/></IsNotNull></Where></Query></View>'
            );

            this.colltaskListItem = oList.getItems(camlQuery);
            clientContext.load(colltaskListItem);

            /* execute the query to get the loaded items */
            clientContext.executeQueryAsync(
                /* onSuccess Function */ 
                Function.createDelegate(this,this.OnQuerySucceeded),/* onFail Function */ 
                Function.createDelegate(this,this.onQueryFailed)
            ); 
    
        }

        function OnQuerySucceeded(sender,args) {

            var count = 0; // for directory list
            var listItemEnumerator = colltaskListItem.getEnumerator();

            while (listItemEnumerator.moveNext()) {
                var oListItem = listItemEnumerator.get_current();
                var title = oListItem.get_item('Title');
                var url = oListItem.get_item('Url');


            var categories = [title,url];
                
            listItemArray[count] = new Array(2);
            for (var i = 0; i<listItemArray[count].length; i++) {

                if(categories[i] == null || categories[i] == undefined) {
                    listItemArray[count][i] = " ";
                } else {
                    listItemArray[count][i] = categories[i];
                }
            }
            count++;

            var cats = listItemArray

            tasks = "<p>" + cats[1][1] + "</p>" + "<br />";

            }
            $("#Ptask").html(tasks);
            }

            function OnQueryFailed(sender,args) {
                alert('Error: ' + args.get_message() + '\n' + args.get_stackTrace());
            }
</script

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?