| ... |
... |
@@ -60,9 +60,9 @@ |
| 60 |
60 |
|
| 61 |
61 |
Der Wert der Zähler kann innerhalb von Formularen über einen Servletaufruf ermittelt werden. Es ist dabei möglich, den Zähler über seinen Namen oder seine UUID auszuwählen. Die entsprechenden {{smallcaps}}URL{{/smallcaps}}s zum Aufruf der Werte könnten zum Beispiel wie folgt aussehen: |
| 62 |
62 |
|
| 63 |
|
-{{code language="none"}}<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&name=<Name des Zählers>{{/code}} |
|
63 |
+{{code language="none"}}https://<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&name=<Name des Zählers>{{/code}} |
| 64 |
64 |
und |
| 65 |
|
-{{code language="none"}}<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&uuid=<UUID des Zählers>{{/code}} |
|
65 |
+{{code language="none"}}https://<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&uuid=<UUID des Zählers>{{/code}} |
| 66 |
66 |
|
| 67 |
67 |
|
| 68 |
68 |
In beiden Fällen wird eine gültige //form request id// (frid) benötigt, welche im Formular per JavaScript unter {{code language="none"}}XFC_METADATA.currentSessionFRID{{/code}} zu finden ist. Auf gleiche Art kann zudem die {{smallcaps}}URL{{/smallcaps}} des Servlets per JavaScript unter {{code language="none"}}XFC_METADATA.urls.counter_client{{/code}} ausgelesen werden. Dies ist wichtig, da sich die {{smallcaps}}URL{{/smallcaps}} bei Aufrufen über Frontend- und Masterserver unterscheidet. |
| ... |
... |
@@ -69,13 +69,13 @@ |
| 69 |
69 |
|
| 70 |
70 |
=== Rückgabewerte === |
| 71 |
71 |
|
| 72 |
|
-Neben dem eigentlichen Wert werden auch andere Informationen zurückgegeben. Die Antwort hat die folgende Struktur: |
|
72 |
+Das Erebnis wird als JSON zurückgegeben. Neben dem eigentlichen Wert sind auch andere Informationen zurückgegeben. Die Antwort hat die folgende Struktur: |
| 73 |
73 |
; success |
| 74 |
|
-: Boolscher Wert, der aussagt, ob die Werte gesetzt wurden. |
|
74 |
+: Boolscher Wert, der aussagt, ob der Zählerwert erfolgreich ausgelesen werden konnte. |
| 75 |
75 |
; msg |
| 76 |
76 |
: Servernachricht bezüglich der Anfrage, welche zur Fehlersuche verwendet werden kann. Ein erfolgreicher Zugriff liefert z.B. //Counter found//. |
| 77 |
77 |
; result |
| 78 |
|
-: Antwort auf die Anfrage. Wenn die anfrage erfolgreich war, sind die folgenden Unterpunkte enthalten: |
|
78 |
+: Antwort auf die Anfrage. Wenn die Anfrage erfolgreich war, sind die folgenden Unterpunkte enthalten: |
| 79 |
79 |
:; lastChange |
| 80 |
80 |
:: Formatierte Ausgabe von Datum und Uhrzeit der letzten Änderung des Zählerwertes |
| 81 |
81 |
:; lastChangeTimestamp |
| ... |
... |
@@ -89,22 +89,25 @@ |
| 89 |
89 |
|
| 90 |
90 |
=== Beispiel für eine AJAX-Anfrage im Formular === |
| 91 |
91 |
|
| 92 |
|
-Eine bespielhafte AJAX-Anfrage, welche den aktuellen Zählerwert des Zählers //Beispielzähler// in das Feld //tf1// schreibt, könnte also wie folgt aussehen: |
|
92 |
+Eine beispielhafte AJAX-Anfrage, welche den aktuellen Zählerwert des Zählers //Beispielzähler// in das Feld //tf1// schreibt, könnte also wie folgt aussehen: |
| 93 |
93 |
|
| 94 |
94 |
{{code language="javascript"}} |
| 95 |
95 |
$.ajax({ |
| 96 |
|
- url:[ |
| 97 |
|
- XFC_METADATA.urls.counter_client, |
| 98 |
|
- "?frid=", |
| 99 |
|
- XFC_METADATA.currentSessionFRID, |
| 100 |
|
- "&name=Beispielzähler" |
| 101 |
|
- ].join(""), |
| 102 |
|
- success: function(data, textStatus, jqXHR) { |
| 103 |
|
- if (data.success) { |
| 104 |
|
- $('[data-name="tf1"]').val(data.result.value); |
| 105 |
|
- } else { |
| 106 |
|
- console.error("Zugriff auf Zähler Beispielzähler fehlgeschlagen:",data.msg); |
| 107 |
|
- } |
| 108 |
|
- } |
|
96 |
+ method: "GET", |
|
97 |
+ url: XFC_METADATA.urls.counter_client, |
|
98 |
+ data: { |
|
99 |
+ name: "Beispielzähler", |
|
100 |
+ frid: XFC_METADATA.currentSessionFRID, |
|
101 |
+ } |
|
102 |
+}).then(function(data) { |
|
103 |
+ if (data.success) { |
|
104 |
+ $('[data-name="tf1"]').val(data.result.value); |
|
105 |
+ } else { |
|
106 |
+ console.warn("Zugriff auf Zähler Beispielzähler fehlgeschlagen:", data.msg); |
|
107 |
+ } |
|
108 |
+}).catch(function(jqXHR, errorTextStatus, errorThrown) { |
|
109 |
+ console.warn("Zugriff auf Zähler Beispielzähler fehlgeschlagen:", errorThrown, "(" + errorTextStatus + ")"); |
| 109 |
109 |
}); |
| 110 |
110 |
{{/code}} |
|
112 |
+ |
|
113 |
+Ein der obenstehenen Funktion ähnliches Template kann auch per Autocomplete direkt im JavaScript-Bereich des Formulardesigners eingefügt werden. Hierzu muss hintereinander {{code language=none}}Counter query{{/code}} (oder zumindest {{code language=none}}Counter{{/code}}) eingegeben werden und die vom Autocomplete vorgeschlagene Option //Counter query// mit einem Klick oder mit den Pfeiltasten ausgewählt und der der Enter-Taste bestätigt werden. |