Как сделать разбивку на страницы для результатов API, когда мои результаты ограничены?

Я использую API food2fork target="_blank" для загрузки результатов поиска на страницу. Однако я сталкиваюсь с проблемой, когда пытаюсь выполнить разбивку на страницы. Я могу получить только 30 результатов за раз, и я также не знаю, как узнать общее количество возможных результатов поиска. Кто-нибудь знает, как я могу добиться разбивки на страницы для этого или если это вообще возможно?

Я построил это с помощью узла angular +, размещенного на героку, если это имеет значение.

(Сейчас я ограничил его, так что пользователи могут искать до трех страниц желаемого поиска, но он жестко запрограммирован на сайт, поэтому проблематичен для поисков, которые дают более или менее ровно 3 страницы результаты. Я мог бы только кнопки «предыдущая» и «следующая», но я чувствую, что это также ограничивает.)


person dliau    schedule 07.12.2016    source источник


Ответы (2)


Как сказано в документе:

Страницы (только поиск)

Любой запрос вернет максимум 30 результатов. Чтобы получить следующий набор результатов, отправьте тот же запрос еще раз, но со страницей = 2. По умолчанию, если опущено, будет страница = 1.

Если вы хотите получить результаты в диапазоне от 31 до 60, вам нужно передать page=2 в запросе. Похоже, что API не предоставляет общее количество результатов.

Я не подписываюсь на предложение @Arashsoft. На самом деле это противоречит цели нумерации страниц, которая не заключается в загрузке полного набора результатов. Какие будут выступления, если у вас есть тысячи рецептов?

Но с помощью этого простого API вы можете реализовать бесконечную прокрутку. например.

person T.Gounelle    schedule 07.12.2016
comment
Я только что ответил на вопрос ОП. Он хочет знать общее количество результатов, и с этим API единственное решение, которое приходит мне на ум, — это вызов API в цикле :) - person Arashsoft; 08.12.2016
comment
Кажется, что единственный способ узнать общее количество результатов - это сделать, как предлагает @Arashoft, однако, как вы сказали, это противоречит цели разбиения на страницы и повлияет на скорость. Я не думал о бесконечной прокрутке, и это кажется отличной альтернативой тому, что я хочу. Спасибо! - person dliau; 14.12.2016

Если вы не можете получить более 30 результатов из API, я предлагаю вызывать API в цикле, пока вы не получите все данные (30, 60, 90,...). Затем вы можете легко разбить его на страницы для конечного пользователя.

person Arashsoft    schedule 07.12.2016