Tom: Formulardaten nach Verarbeitung löschen/ Redirect

Beitrag lesen

Hello,

Was ich machen möchte: jemand kann ein Bild hochladen. Wenn das Hochladen und Abspeichern auf Serverseite beendet ist, soll der Nutzer auf die Formularseite zurückkehren, um sofort ein weiteres Bild hochladen zu können.

Er verlässt die Seite doch nie.

Uploadformular, Erfolgmeldung, Fehlermeldung, neues Uploadformular ist immer dasselbe Dokument.

Das ist nur dann der Fall, wenn AJAX eingesetzt wird, und auch dann wird das Dokument manipuliert.
Es mag zwar immer dieselbe Ressource angefordert werden, aber immer mit anderen Parametern. Die erzeugt dann auch immer neue Dokumente.

Es ist im übrigen gar nicht dumm, Datenuploads mit POST und Datendownloads konsequent mit GET abzuwickeln.

Mir würde dafür der Status 303 einfallen
http://de.wikipedia.org/wiki/HTTP-Statuscode

303 See Other
    Die Antwort auf die durchgeführte Anfrage lässt sich unter der
    im „Location“-Header-Feld angegebenen Adresse beziehen.

Wenn man partout bei POST bleiben will, dann wäre ggf. Status 205 der passende

205 Reset Content
    Die Anfrage wurde erfolgreich durchgeführt; der Client soll das Dokument
    neu aufbauen und Formulareingaben zurücksetzen.

Der Roundturn eines Vorganges, den ich mir vorstelle, würde also ungefähr so aussehen

REQUEST   GET        Ressource mit Eingabeformular anfordern

RESPONSE             (Status 200) Dokument mit Formular liefern

REQUEST   POST       ausgefülltes Formular an den Server senden und die Ressource
                     mit entsprechenden Parametern anfordern (z.B. "cmd=imageupload")

RESPONSE             (Status 303)

REQUEST              Antwort anfordern mit den passenden (eben bezogenen) Parametern

RESPONSE             (Status 200) Antwort, ggf. neues Formular liefern

Der Vorteil daran wäre mMn, dass man sich über nicht funktionierende Cache-Strategien auf dem Client keine Gedanken mehr machen muss und der Server aufgrund der Parameter, der Session-ID usw. erkennen kann, ob er überhaupt noch Daten rausrücken muss und will, oder ob sich da jemand einen uralten GET-Request gespeichert hat. Und selbst dann könnte er noch sinnvoll reagieren und eine passende Standardauskunft geben.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de