【问题标题】:Errors while retrieving list items in SharePoint online (2013) using JavaScript使用 JavaScript 在 SharePoint Online (2013) 中检索列表项时出错
【发布时间】:2019-03-28 16:09:11
【问题描述】:

<script type="text/javascript">

SP.SOD.executeOrDelayUntilScriptLoaded(retrieveListItems, "sp.js");
 var itemArray = [];
 var ids = [];
 var firstNames = [];
 var lastNames = [];
 var levels = [];

function retrieveListItems() {

    var clientContext = new SP.ClientContext.get_current();
    var list = clientContext.get_web().get_lists().getByTitle('jsTest');

   var camlQuery = new SP.CamlQuery();
    var caml = "<View>";
    caml += "<Query><OrderBy><FieldRef Name='ID' Ascending='FALSE'/></OrderBy></Query>";
    caml += "<ViewFields><FieldRef Name='ID'/><FieldRef Name='Title'/><FieldRef Name='FirstName'/><FieldRef Name='LastName' /><FieldRef Name='Level' /></ViewFields>";
    caml += "<RowLimit>4</RowLimit>";
    caml += "</View>";
    camlQuery.set_viewXml(caml);
    this.items = list.getItems(camlQuery);
    clientContext.load(items);

    clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));

}

function onQuerySucceeded(sender, args) {

    var itemEnumerator = items.getEnumerator();

    while (itemEnumerator.moveNext()) {
        var item = itemEnumerator.get_current();
          var id = item.get_item("ID");
          var title = item.get_item("Title");
          var firstName = item.get_item("FirstName");
          var lastName = item.get_item("LastName");
          var level = item.get_item("Level");
          itemArray.push(id + ", " + title + ", " + firstName + ", " + lastName + ", "+ level);
          ids.push(id);
          firstNames.push(firstName);
          lastNames.push(lastName);
          levels.push(level);


      }

         document.getElementById("test2").innerHTML = itemArray;
         document.getElementById("test3").innerHTML = ids;
         document.getElementById("test4").innerHTML = firstNames;
         document.getElementById("test5").innerHTML = lastNames;
         document.getElementById("test6").innerHTML = levels;
}

function onQueryFailed(sender, args) {

    alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}
</script>

<div class="test1">
  <p id="test2">Undefined</p>
</div>
<div class="test1">
  <p id="test3">Undefined</p>
</div>
<div class="test1">
  <p id="test4">Undefined</p>
</div>
<div class="test1">
  <p id="test5">Undefined</p>
</div>
<div class="test1">
  <p id="test6">Undefined</p>
</div>

大家好, 我正在尝试检索一些列表项并将它们显示在我们的 SharePoint 团队网站的 HTML 文件中 我使用了下面的代码,但出现了一些错误...屏幕上没有数据显示,正如您在下面截取的屏幕截图中看到的那样 Html page captured

这是我用来检索数据的列表:SharePoint List

以下是加载页面时chrome浏览器控制台中显示的错误:Errors from Chrome Browser Console

您能帮忙解决这个问题吗?我真的不知道代码或 SharePoint 网站出了什么问题。

我应该做些什么来解决这个问题?

【问题讨论】:

    标签: sharepoint


    【解决方案1】:

    修改代码如下:

    <script type="text/javascript">
    
    SP.SOD.executeOrDelayUntilScriptLoaded(retrieveListItems, "sp.js");
     var itemArray = [];
     var ids = [];
     var firstNames = [];
     var lastNames = [];
     var levels = [];
    
    function retrieveListItems() {
    
        var clientContext = new SP.ClientContext.get_current();
        var list = clientContext.get_web().get_lists().getByTitle('jsTest');
    
       var camlQuery = new SP.CamlQuery();
        var caml = "<View>";
        caml += "<Query><OrderBy><FieldRef Name='ID' Ascending='FALSE'/></OrderBy></Query>";
        caml += "<ViewFields><FieldRef Name='ID'/><FieldRef Name='Title'/><FieldRef Name='FirstName'/><FieldRef Name='LastName' /><FieldRef Name='Level' /></ViewFields>";
        caml += "<RowLimit>4</RowLimit>";
        caml += "</View>";
        camlQuery.set_viewXml(caml);
        this.items = list.getItems(camlQuery);
        clientContext.load(items);
    
        clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));        
    
    }
    
    function onQuerySucceeded(sender, args) {
    
        var itemEnumerator = items.getEnumerator();
    
        while (itemEnumerator.moveNext()) {
            var item = itemEnumerator.get_current();
              var id = item.get_item("ID");
              var title = item.get_item("Title");
              var firstName = item.get_item("FirstName");
              var lastName = item.get_item("LastName");
              var level = item.get_item("Level");
              itemArray.push(id + ", " + title + ", " + firstName + ", " + lastName + ", "+ level);
              ids.push(id);
              firstNames.push(firstName);
              lastNames.push(lastName);
              levels.push(level);
    
    
          }
    
             document.getElementById("test2").innerHTML = itemArray;
             document.getElementById("test3").innerHTML = ids;
             document.getElementById("test4").innerHTML = firstNames;
             document.getElementById("test5").innerHTML = lastNames;
             document.getElementById("test6").innerHTML = levels;
    }
    
    function onQueryFailed(sender, args) {
    
        alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
    }
    </script>
    
    <div class="test1">
      <p id="test2">Undefined</p>
    </div>
    <div class="test1">
      <p id="test3">Undefined</p>
    </div>
    <div class="test1">
      <p id="test4">Undefined</p>
    </div>
    <div class="test1">
      <p id="test5">Undefined</p>
    </div>
    <div class="test1">
      <p id="test6">Undefined</p>
    </div>
    

    我已经回答了您在 Technet 中发布的相同问题,您也可以在这里查看,如果有帮助,请记得在 Technet 中也标记:

    Not Able to retrieve more than two column (ID an Title) from SharePoint list using JavaScript

    【讨论】:

    • 您好杰瑞,感谢您的支持。我已经使用了您发送给我的代码,但我仍然收到一些我不知道的代码错误...我发送了我在上面收到的错误的图片。请查看上面的链接以确切了解我在说什么......我能做些什么来解决这个问题吗?
    • 我已经在 Technet 跟进,请检查,尝试使用 Chrome Dev Console 调试。
    【解决方案2】:

    我相信一个或多个字段的内部名称与您在代码/CAML 查询中编写的名称不同。

    请仔细检查您在 CAML 查询中使用的所有字段的内部名称以及代码。

    这应该可以解决错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-28
      • 1970-01-01
      • 1970-01-01
      • 2016-02-04
      • 1970-01-01
      • 2018-08-16
      • 1970-01-01
      相关资源
      最近更新 更多