2016-12-07 10 views
1

Ich verwende die API food2fork target="_blank", um Suchergebnisse auf eine Seite zu laden. Ich stoße jedoch auf ein Problem, wenn ich Seitenumbrüche mache. Ich kann nur 30 Ergebnisse gleichzeitig erhalten, und ich weiß auch nicht, wie ich die Gesamtzahl der möglichen Suchergebnisse herausfinden kann. Weiß jemand, wie ich dafür Paginierung erreichen kann oder ob es überhaupt möglich ist?Wie funktioniert die Paginierung für API-Ergebnisse, wenn meine Ergebnisse begrenzt sind?

Ich baute dies mit eckigen + Knoten, auf Heroku gehostet, wenn dies einen Unterschied macht.

(Im Moment habe ich es begrenzt, so dass Benutzer bis zu drei Seiten ihrer gewünschten Suche suchen können, aber es ist fest in die Website kodiert, so dass es problematisch für Suchen, die mehr oder weniger als genau 3 Seiten der Ergebnisse geben Ich könnte nur 'prev' und 'next' haben, aber das ist auch einschränkend.)

Antwort

0

Wie gesagt im doc:

Seiten (Search Only)

Jede Anfrage wird maximal 30 Ergebnisse zurück. Um den nächsten Satz zu erhalten der Ergebnisse die gleiche Anfrage erneut senden, aber mit page = 2 Der Standard entfällt, wenn ist page = 1

Il Sie die Ergebnisse holen 31-60 reichen, müssen Sie page=2 passieren in der Anfrage. Es sieht so aus, als ob die API nicht die Gesamtzahl der Ergebnisse liefert.

Ich abonniere @Arashsoft Vorschlag nicht. Es vereitelt tatsächlich den Zweck der Seitennummerierung, die nicht ist, um die volle Ergebnismenge zu laden. Was wären die Leistungen, wenn Sie Tausende von Rezepten haben?

Aber mit dieser einfachen API könnten Sie beispielsweise infinite scrolling implementieren.

+0

Ich habe gerade die OP-Frage beantwortet. Er möchte die Gesamtzahl der Ergebnisse wissen und mit dieser API die einzige Lösung, die mir in den Sinn kommt ruft die API in einer Schleife :) – Arashsoft

+0

Es scheint, als wäre die einzige Möglichkeit, die Gesamtzahl der Ergebnisse zu finden, als @Arasoft zu tun schlägt jedoch vor, wie Sie sagten, dass dies den Zweck der Seitenumbruch und würde Geschwindigkeit beeinträchtigen. Ich hatte nicht an endloses Scrollen gedacht und das scheint eine großartige Alternative für das zu sein, was ich will. Vielen Dank! – dliau

0

Wenn Sie nicht mehr als 30 Ergebnisse von der API bekommen können, schlage ich vor, die API in einer Schleife aufzurufen, bis Sie es bekommen alle Daten (30, 60, 90, ...). Dann können Sie es leicht für Ihren Endbenutzer paginieren.

Verwandte Themen