Formulardaten besser mit Javascript speichern

Falls mal wieder Speicher-Traffic aus der One-Page-JS-App ansteht, nicht Verzweifeln, save.js an den Start bringen.

save.js verträgt daten codiert in einer JSON-Liste:

 save.js({
   "target" : "http://beispiel.ziel.de/formular.html",
   "method" : 'POST',
   "feldname" : {
     "type" : "long", # kann alles sein, long kriegt ne textarea
     "value" : "Textwand"
   }
 },Node,Callback)

Darauf legt save.js im Stillen ein unsichtbares Formular an und schickt es an ein unsichtbares iframe (tgt!), das die Daten entgegen nimmt.

Der Schlüssel tgt in der Liste ist das Ziel des iframes. Da sollen die Formulardaten hin.

Der Schlüssel method in der Liste kann auch weggelassen werden, dann benutzt save.js POST.

Der Paramter Node ist das Anhängeziel sowohl für das Formular als auch das iframe. Wenn leer, nehmen wir body.

save.js ist umweltbewusst! Im Anschluss werden alle Spuren entfernt und save.js legt sich wieder hin bis zum nächsten Aufruf.

Der Paramter callback ist eine callback-Funktion, die ausgeführt wird, wenn abgeräumt ist.

Rundfunk

Um immer auf dem neuesten Stand der Lade/Speicher-Bemühungen zu bleiben, hat save.js ein Radio an Bord. Wer will, kann auf dem Kanal ‘save.js’ mithilfe eines Eventlisteners am document mithören.

Die dort versandten detail.s sind

Wenn sich die geneigten Leser das Radio im Quellcode einmal ansehen möchten. Die Idee dahinter ist, das Radio nach einer id(Vorgang) abzuhören und dann graziel auf entstandene Fehler Erfolge zu reagieren.

Das Radio sendet die ganze Zeit, “empfängt” aber nur bei save.data.debug = true.

Debug

Zur Erbauung der geneigten Anwenderschaft unterhalten wir ein möglichst aussagekräftiges Log in der Konsole, sobald save.data.debug = true ist. Wenn Sie einmal schauen möchten:

 save.v4.js - Radio: {"id":"e30046e8-cf77-404a-9651-ad39184ad542","status":99,"msg":"Commencing …"}
 save.v4.js - Querying address: »http://data.pieli.net/<client>/3/token/«.
 save.v4.js - Would certainly do the callback.
 save.v4.js - Radio: {"id":"e30046e8-cf77-404a-9651-ad39184ad542","status":10,"msg":"Token obtained"}
 save.v4.js - Querying address: »http://data.pieli.net/<client>/3/«.
 save.v4.js - Token »<token>« obtained from server.
 save.v4.js - Success w/output.
 save.v4.js - Radio: {"id":"e30046e8-cf77-404a-9651-ad39184ad542","status":100,"msg":"Ready."}
 save.v4.js - Would certainly do the callback.
 save.v4.js - Radio: {"id":"444589da-378c-41a8-bd1d-8744003ab79e","status":99,"msg":"Commencing …"}
 save.v4.js - Querying address: »http://data.pieli.net/<client>/3/token/«.
 save.v4.js - Would certainly do the callback.
 save.v4.js - Radio: {"id":"444589da-378c-41a8-bd1d-8744003ab79e","status":10,"msg":"Token obtained"}
 save.v4.js - Querying address: »http://data.pieli.net/<client>/3/«.
 save.v4.js - Token »<token>« obtained from server.
 save.v4.js - Success w/output.
 save.v4.js - Radio: {"id":"444589da-378c-41a8-bd1d-8744003ab79e","status":100,"msg":"Ready."}
 save.v4.js - Would certainly do the callback.

Alle Radio:-Geschichten gehen ständig über den Äther, dh sie sind mit document.addEventListeners abzuhören. Alle Sachen befinden sich im event.detail-Objekt.