Ошибки при получении элементов списка в SharePoint Online (2013) с использованием JavaScript - PullRequest
0 голосов
/ 15 марта 2019

<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>

Привет всем, Я пытаюсь получить некоторые элементы списка и отобразить их в виде файла HTML на нашем сайте SharePoint Team. Я использовал код, приведенный ниже, и у меня возникли некоторые ошибки ... Нет данных на экране, как вы можете видеть на снятом экране, снятый ниже Захваченная страница HTML

Вот список, который я использую для получения данных: Список SharePoint

А вот ошибки, отображаемые в консоли браузера Chrome при загрузке страницы: Ошибки из консоли браузера Chrome

Не могли бы вы помочь решить эту проблему? Я действительно не знаю, что не так с кодом или сайтом SharePoint.

Что я должен сделать, чтобы решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 28 марта 2019

Я верю Внутреннее имя одного или нескольких полей отличается от того, что вы написали в своем коде / запросе CAML.

Пожалуйста, дважды проверьте внутреннее имя всех полей, которые вы используете в запросе CAML, иа также код.

Это должно устранить ошибку.

0 голосов
/ 18 марта 2019

Модифицированный код, как показано ниже:

<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>

enter image description here

enter image description here

Я ответилэтот же вопрос, опубликованный вами в Technet, вы также можете проверить здесь, и, если он полезен, помните, чтобы пометить также в Technet:

Не удается получить более двух столбцов (ID заголовка)из списка SharePoint с использованием JavaScript

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...