Voraussetzungen
Für alle AJAX-Integrationen brauchen Sie die WEBSALE JavaScript-Systembibliothek samt zugehöriger Design-Komponente, mindestens in der Version 1.8.1. Die Systembibliothek bringt die AJAX-Funktionen mit, in der Design-Komponente hinterlegen Sie Ihre eigenen Reaktionen auf Erfolg und Fehler. Wegweiser: JavaScript und jQuery Materialien: WEBSALE JavaScript-BibliothekSetzen Sie die Tracking-Schnittstelle zusammen mit AJAX ein, beachten Sie die dortigen Hinweise zu AJAX-basierten Funktionen. Da bei einem AJAX-Aufruf kein vollständiger Seitenaufbau stattfindet, greifen Tracking-Aufrufe sonst nicht.Wegweiser: Beschreibung der Tracking-Schnittstelle
So läuft ein AJAX-Aufruf ab
Bevor Sie den ersten Link bauen, lohnt sich ein Blick auf den Ablauf. Er ist bei Inhalten und Formularen derselbe und erklärt, warum Sie vier JavaScript-Funktionen angeben.- Der Kunde klickt auf einen Link oder einen Button. Die aufgerufene Funktion unterbindet den normalen Seitenwechsel.
- Vor dem Absenden der Anfrage läuft die
startFunction. Hier blenden Sie typischerweise einen Layer mit einer Ladegrafik ein. - Die Anfrage geht an WEBSALE V8s. Dort wird das angeforderte Template erzeugt und zurückgegeben.
- Kommt keine Antwort zustande, beispielsweise weil die Internetverbindung abgebrochen ist oder ein Timeout eintritt, läuft die
failureFunction. - Kommt eine Antwort zurück, entscheidet ihr Inhalt: Bei Erfolg läuft der
successCallback, meldet WEBSALE V8s dagegen einen Fehler, läuft dererrorCallback. - Bei Erfolg trägt die Systembibliothek den zurückgegebenen Inhalt automatisch in die Anzeigebereiche Ihrer Seite ein.
failureFunction und errorCallback ist wichtig für Ihre Fehlermeldungen. Die failureFunction steht für einen Kommunikationsfehler, bei dem der Shop gar nicht geantwortet hat. Der errorCallback steht für eine Antwort des Shops, die einen Fehler meldet, beispielsweise ein nicht gefundenes Template.
Der angeforderte Inhalt wird über das Tag WS-LoadTpl angefordert, gegebenenfalls in Kombination mit WS-ExternInclude, FORM-Template oder FORM-SSLTemplate.

Inhalte per AJAX nachladen
Der einfachere der beiden Fälle ist das Nachladen von Inhalten, beispielsweise einer Informationsseite hinter einem Reiter. Er besteht aus vier Schritten: Link bauen, Bibliothek einbinden, Anzeigebereich anlegen, Zieltemplate vorbereiten.Schritt 1: Link erstellen
Der Link ruft die Funktionws_AJAXloadTemplate auf. Das return davor verhindert, dass der Browser zusätzlich dem Link folgt.
Schritt 2: Systembibliothek und Design-Komponente einbinden
Binden Sie die Systembibliothek samt Design-Komponente ein. Haben Sie das bereits getan, prüfen Sie die Version.Schritt 3: Anzeigebereiche definieren
Auf dem Template mit dem Link legen Sie einen oder mehrere Anzeigebereiche an. In sie wird der nachgeladene Inhalt eingesetzt. Verwenden Sie dafür ein beliebiges HTML-Element mit einer ID. Die ID ist die Verbindung zum Zieltemplate und muss deshalb eindeutig sein.Schritt 4: WS-Ajax-Sektionen im Zieltemplate anlegen
WEBSALE V8s gibt das Template zurück, das der Link aufruft. Damit die Systembibliothek weiß, welcher Teil davon wohin gehört, teilen Sie das Zieltemplate in WS-Ajax-Sektionen. Der Sektionsname besteht aus dem PräfixWS-Ajax- und der ID des Anzeigebereichs. Auf diesem Weg tauschen Sie mit einem einzigen Aufruf auch mehrere Bereiche gleichzeitig aus.
ST-Ajax. Ohne diese Klammerung stünden die Marken bei einem normalen Aufruf sichtbar im Quelltext.
Formulare per AJAX nachladen und absenden
Ein Formular durchläuft denselben Ablauf, allerdings zweimal: einmal beim Nachladen des Formulars und einmal beim Absenden. Für das Absenden gibt es eine eigene Funktion, weil dabei die Feldinhalte mitgeschickt werden. Das Ergebnis des Absendens hängt von der Eingabe ab. Ist sie fehlerhaft, gibt WEBSALE V8s das Formular erneut zurück, samt Fehlermeldungen. War sie gültig, kommt die Bestätigungsseite des Formulars zurück. In beiden Fällen landet die Antwort im selben Anzeigebereich.Schritt 1: Formular per Link nachladen
Das Nachladen des Formulars unterscheidet sich nicht vom Nachladen eines Inhalts.Schritt 2: Formular und Submit-Button anpassen
Integrieren Sie Ihrform-Element wie gewohnt und vergeben Sie eine ID. Über diese ID findet die Funktion beim Absenden die Feldinhalte. Am Submit-Button ergänzen Sie den Aufruf von ws_AJAXsendFormTemplate.
Schritt 3: Design-Komponente erweitern
Binden Sie die Systembibliothek samt Design-Komponente ein und ergänzen Sie dort dieselben vier Funktionen wie beim Nachladen von Inhalten. Beide Aufrufe können sich dieselben Funktionen teilen oder eigene verwenden.Schritt 4: Anzeigebereich definieren
Auf dem Template, das das Formular aufnehmen soll, legen Sie einen Anzeigebereich mit einer ID an.Schritt 5: WS-Ajax-Sektion anlegen
Das Formular-Template umschließen Sie mit einer WS-Ajax-Sektion, deren Name auf die ID des Anzeigebereichs endet.ST-Ajax. Denken Sie dabei an den Button: Ohne AJAX darf er den Funktionsaufruf nicht tragen, sonst würde das Formular gar nicht abgeschickt.
Syntax der Funktionen
Beide Funktionen erwarten dieselben Parameter, nur der erste unterscheidet sich. Beim Nachladen ist es der Link, beim Absenden die ID des Formulars. Achten Sie auf die Anführungszeichen:startFunction und failureFunction werden als Funktionsobjekt übergeben, also ohne Anführungszeichen und ohne Klammern. successCallback und errorCallback werden dagegen als Zeichenkette übergeben, die den vollständigen Funktionsaufruf inklusive Klammern enthält.
ws_AJAXloadTemplate
Referenz: WS-Charset
ws_AJAXsendFormTemplate
Mögliche Integrationen mit AJAX
Die folgenden Inhalte und Features lassen sich mit den beschriebenen Funktionen per AJAX einbinden. Die jeweiligen Seiten zeigen die Integration am konkreten Beispiel, samt der dort verwendeten Funktionsnamen.- Informationsseiten per AJAX nachladen
- Formulare per AJAX nachladen und absenden
- Schnellanmeldung für Bestandskunden
