Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.04.2019, 20:01
Аватар для NeonMan
Кандидат Javascript-наук
Отправить личное сообщение для NeonMan Посмотреть профиль Найти все сообщения от NeonMan
 
Регистрация: 22.07.2018
Сообщений: 123

Получить больше объектов после запроса на сервер через fetch API
Делаю такой запрос на сервер:
export default class SwapiService {

	_apiBase = 'https://swapi.co/api';

		getResource = async (url) => {
			const result = await fetch(`${this._apiBase}${url}`);
			return await result.json();
		};

		getAllPeople = async () => {
	    const res = await this.getResource(`/people/`);
	    return res;
  	}

Получаю такой ответ:
{count: 87, next: "https://swapi.co/api/people/?page=2", previous: null, results: Array(10)}
count: 87
next: "https://swapi.co/api/people/?page=2"
previous: null
results: (10) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
__proto__: Object

Здесь он выдает первые 10 объектов, я могу с ними уже сделать все что захочу, но как мне увидеть остальные? судя по полю count: их 87, как мне их вывести все сразу например? или с 20 по 40? что бы увидеть, к примеру, первые 10:
const swapi = new SwapiService();
swapi.getAllPeople().then((body) => {
       console.log(body.results);
});
Подскажите пожалуйста, кто владеет вопросом
Ответить с цитированием
  #2 (permalink)  
Старый 28.04.2019, 20:48
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

count: 87, это скорее всего "всего пользователей", а выдается по десять, то есть будет 9 страниц.
Ответить с цитированием
  #3 (permalink)  
Старый 29.04.2019, 08:15
Аватар для NeonMan
Кандидат Javascript-наук
Отправить личное сообщение для NeonMan Посмотреть профиль Найти все сообщения от NeonMan
 
Регистрация: 22.07.2018
Сообщений: 123

Сообщение от laimas Посмотреть сообщение
count: 87, это скорее всего "всего пользователей", а выдается по десять, то есть будет 9 страниц.
это кол-во объектов общее по этому запросу /people/ но как манипулировать дальше через Fetch хотя бы, здесь только

да, всего пользователей (каждый пользователь - объект в данном случае), как через запрос увидеть остальные? пока видим только 10 первых, что сервак отдает
Ответить с цитированием
  #4 (permalink)  
Старый 29.04.2019, 08:16
Аватар для NeonMan
Кандидат Javascript-наук
Отправить личное сообщение для NeonMan Посмотреть профиль Найти все сообщения от NeonMan
 
Регистрация: 22.07.2018
Сообщений: 123

тут нужно как то манипуоировать строкой next: я просто не знаю как, суть ясна
Ответить с цитированием
  #5 (permalink)  
Старый 29.04.2019, 08:19
Аватар для NeonMan
Кандидат Javascript-наук
Отправить личное сообщение для NeonMan Посмотреть профиль Найти все сообщения от NeonMan
 
Регистрация: 22.07.2018
Сообщений: 123

вот с теми что дает сервак 10тью объектами можем сделать .slice(0, 3), и увидеть первые три из десяти, но дальше как манипулировать данными?
Ответить с цитированием
  #6 (permalink)  
Старый 29.04.2019, 08:19
Аватар для NeonMan
Кандидат Javascript-наук
Отправить личное сообщение для NeonMan Посмотреть профиль Найти все сообщения от NeonMan
 
Регистрация: 22.07.2018
Сообщений: 123

их-то 87, а по запросу дает только первые 10, по дефалту
Ответить с цитированием
  #7 (permalink)  
Старый 29.04.2019, 11:05
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

NeonMan,
Вот же написано:
next: "https://swapi.co/api/people/?page=2"

т.е. для получения второй страницы надо выполнить запрос с
/people/?page=2
вместо /people/
Ответить с цитированием
  #8 (permalink)  
Старый 29.04.2019, 12:07
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

NeonMan, если не определено запросом изменять количество позиций на странице, то получить все не страничной навигацией нельзя, это конфигурация на сервере - по 10 позиций.
Ответить с цитированием
  #9 (permalink)  
Старый 02.05.2019, 20:23
Аватар для NeonMan
Кандидат Javascript-наук
Отправить личное сообщение для NeonMan Посмотреть профиль Найти все сообщения от NeonMan
 
Регистрация: 22.07.2018
Сообщений: 123

Сообщение от laimas Посмотреть сообщение
NeonMan, если не определено запросом изменять количество позиций на странице, то получить все не страничной навигацией нельзя, это конфигурация на сервере - по 10 позиций.
И как же в данном случае манипулировать по страничной навигацией? например кнопками вперед на 10 объектов и нанад на 10 объектов, может есть похожий пример? На React JS желательно
Ответить с цитированием
  #10 (permalink)  
Старый 02.05.2019, 20:49
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Ну как, запрашивайте следующую/предыдущую страницу увеличивая/уменьшая номер страницы. Или в чем вопрос?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
После Ajax запроса получить массив в php Huozh AJAX и COMET 3 14.05.2017 18:40
Как можно получить результат работы php скрипта после отправки данных через ajax nina_ jQuery 5 14.11.2016 14:17
Отправка запроса в виде XML файла на сервер и получение ответа sojar Общие вопросы Javascript 0 23.08.2015 12:34