Рекурсивный вызов AJAX JQuery и SharePoint для получения всех элементов из списка SharePoint.Jquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Anonymous
 Рекурсивный вызов AJAX JQuery и SharePoint для получения всех элементов из списка SharePoint.

Сообщение Anonymous »

Я хочу получить все элементы из списка SharePoint. Список содержит более 5000 элементов, поэтому необходим рекурсивный ajax-вызов REST-API. Я могу вызвать все данные в массив, но код, вызывающий функции Ajax, похоже, ничего не делает в .then(), см. мой код ниже. Кажется, я упускаю очевидное.
var url = _spPageContextInfo.webServerRelativeUrl + "/_api/web/lists/getbytitle('LISTNAME')/items?$select=ID,Title,TEST,LINK,Modified,Editor/Title&$top=5000&$expand=Editor/Id";

function getAllItemsFromList(url) {
return new Promise((resolve, reject) => {
$.ajax({
url: url,
method: "GET",
dataType: "json",
headers: {
"Accept": "application/json; odata=verbose"
},
}).done(function (data) {
if (data.d.__next) {
console.log("true: ", data.d.results);
url = data.d.__next;
data.d.results.forEach(element => {
all_items_from_list.push(element);
});
getAllItemsFromList(url);
}
else {
console.log("false: ", data.d.results);
data.d.results.forEach(element => {
all_items_from_list.push(element);
});
//prints all the 7345 Items into the console
console.log("false, all_items_from_list: ", all_items_from_list);
resolve("yay");
}
}).fail(function () {
console.log("this went horribly wrong!");
reject("ERROR!");
});
});
};

var all_items_from_list = [];

getAllItemsFromList(url).then(
function (value) { console.log("I'm here and got following data: ", all_items_from_list) },
function (error) { /* code if some error */ }
);


Подробнее здесь: https://stackoverflow.com/questions/791 ... epoint-lis
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Jquery»