Zu Handbuch Javascript-API

Golem.Api.Special.List – Liste der Special-Kategorien holen

Mit der Klasse Golem.Api.Special.List laden Sie eine Liste der Special-Kategorien auf Golem.de.

Inhalt

Einbindung

Javascript-Datei Golem/Api/Special/List.js
Golem/Api/Special/List-min.js
Package-Javascript-Datei Golem/Api/Special-full.js
Golem/Api/Special-full-min.js
Erforderliche Klassen Golem.Request
Golem.Api
<!-- Erforderlich -->
<script type="text/javascript" src="http://api.golem.de/download/js/latest/Golem/Core-min.js"></script>

<!-- Klasse -->
<script type="text/javascript" src="http://api.golem.de/download/js/latest/Golem/Api/Special/List.js"></script>

Verwendung

Einfache Variante

Nehmen wir an, Sie wollen in einer leeren HTML-Liste die Special-Kategorien auf Golem.de anzeigen. Der HTML-Code der Liste sieht wie folgt aus:

<ul id="speciallist">
</ul>
Beispiel 1: Leere HTML-Liste

Der zugehörige Javascript-Code soll diese Liste mit den Namen der Kategorien füllen. Der Construktor der Klasse Golem.Api.Special.List erfordert keine weiteren Parameter. Sie rufen die fetchEach()-Methode des Objektes auf. Als Parameter für den Aufruf wird eine Funktion übergeben, die für jeden Kategorieeintrag aufgerufen wird.

Golem.Request.KEY = '<ENTWICKLERSCHLÜSSEL>';

var request = new Golem.Api.Special.List();

request.fetchEach(addItem);
Beispiel 2: Abfrage für die Special-Kategorien

Unserer Methode zum Einfügen eines Listeneintrages wird ein Objekt-Literal übergeben mit den Kategoriedaten als Eigenschaften des Objektes.

function addItem(special) {

 var elList = document.getElementById('articlelist');

 var elItem = document.createElement('LI');

 elItem.innerHTML = special.name;

 elList.appendChild(elItem);

}
Beispiel 3: Funktion zum Füllen der HTML-Liste

Andere Zugriffsformen

Die oben verwendete Methode fetchEach() ist eine vereinfachte Kombination der Methoden fetch() zum Holen der Daten und each() zum Durchlaufen. Wenn Sie Fehler bei der Datenabfrage abfangen wollen oder müssen, geht das nur bei der Verwendung von fetch().

Sie übergeben fetch() ein Objekt-Literal mit der Eigenschaft fnSuccess, der Sie eine entsprechende Funktion zuweisen:

request.fetch(
  {
    fnSuccess : fillList
  }
);
Beispiel 4: Abfrage mit fetch()

Innerhalb der Füll-Funktion können Sie die each()-Methode aufrufen. Die Füll-Funktion läuft dabei innerhalb des Scopes des request-Objektes, weshalb Sie each() über this referenzieren können. Als Parameter übergeben Sie der Methode eine Funktion, die für jeden zurückgelieferten Artikel aufgerufen wird.


function fillList() {

    this.each(addItem);

}
Beispiel 5: Funktion zur Auswertung der Ergebnisse

Wenn Sie lediglich die Kategorieeinträge benötigen, ohne sie gleich zu durchlaufen, können Sie auch die Methode getData() benutzen. Sie liefert alle Artikeleinträge in einem Array zurück.

Fehlerbehandlung

Um eine fehlerhafte Abfrage abzufangen, geben Sie bei der Methode fetch() eine Funktion für die Fehlerbehandlung an:

...
request.fetch(
    {
        fnSuccess : fillList,
        fnError   : handleError
    }
);
...
Beispiel 6: Abfrage ergänzt um die Fehlerbehandlung

Der Fehler-Funktion wird als erster Parameter der Fehlercode übergeben, als zweiter eine Fehlermeldung. Auch diese Funktion läuft innerhalb des Scopes des request-Objektes.


function handleError(errorCode, errorMessage) {

    alert("Interner Zugriffsfehler!");

}
Beispiel 7: Funktion zur Fehlerbehandlung

Verfügbare Kategoriedaten

Für jeden Artikel werden folgende Eigenschaften mitgeliefert:

Name Bedeutung
name Name der Special-Kategorie
shortname Der Kurzname der Special-Kategorie. Dieser wird auch als Identifier der Special-Kategorie verwendet.
url Die URL zur Übersichtsseite der Special-Kategorie

Vollständiges Beispiel

<html>
 <head>
  <title>
   Golem.de - API - Example for fetching special categories via Golem.de-Webinterface
  </title>
  <script type="text/javascript" src="http://api.golem.de/download/js/latest/Golem/Request.js"></script>
  <script type="text/javascript" src="http://api.golem.de/download/js/latest/Golem/Api.js"></script>
  <script type="text/javascript" src="http://api.golem.de/download/js/latest/Golem/Api/Special/List.js"></script>

  <script type="text/javascript">

   Golem.Request.KEY = '<ENTWICKLERSCHLÜSSEL>';

   function getSpecials() {

    var request = new Golem.Api.Special.List();

    request.fetchEach(addItem);

   }

   function addItem(special) {

    var elList = document.getElementById('speciallist');

    var elItem = document.createElement('LI');

    elItem.innerHTML = special.name;

    elList.appendChild(elItem);

   }

  </script>
 </head>

 <body onload="getSpecials();">

  <h1>Golem.de - Show special categories</h1>

  <ul id="speciallist">
  </ul>

 </body>

</html>


Zu Handbuch Javascript-API