Mein Ziel ist es, dass der Benutzer ein Formular ausfüllt, diese Informationen in einer POST-Anfrage an den Flasher-Server sendet und dann eine Vorlage mit diesen Formularinformationen rendert (nachdem er eine gewisse Logik auf dem Server durchlaufen hat).
> Bisher habe ich den POST-Teil von all dem erledigt. Ich versuche gerade, eine Vorlage innerhalb von if request.method == POST'
zu rendern, und ich schätze, das funktioniert momentan nicht.
Hier ist der Code, den ich bisher habe:
%Vor% Muss ich eine separate GET
Anfrage für den Erfolg meiner POST
Funktion machen? Wenn ja, wie würde ich das tun?
Hier ist die AJAX-Anfrage (wenn es darauf ankommt, kann dieser Code auf jeder einzelnen Seite der App aufgerufen werden):
%Vor% Also, im Idealfall kann ich eine Vorlage rendern, während ich poste. Wenn das nicht der Fall ist, wie gehe ich vor, eine GET
Anfrage von der gleichen Ajax-Funktion zu machen?
Ich weiß, dass Sie normalerweise url_for()
für eine GET
Anfrage verwenden, ist das eine Option, da ich zu diesem Zeitpunkt in JS bin?
Normalerweise verwenden Sie eine Ajax-Anfrage, um Daten zurückzugeben, die Sie dann dynamisch auf der Seite anzeigen.
%Vor% Wenn Sie zu einer anderen Vorlage umleiten, dann klicken Sie einfach auf "Senden" in einem Formular, das einen POST erstellt, und antworten Sie dann mit der neuen Vorlage. Wenn Sie tatsächlich auf eine ganz neue Seite umleiten möchten, nachdem die Ajax-Anfrage zurück gekommen ist (was langsamer als nur die Information ist, die Sie bereits erhalten haben), dann könnten Sie das Fenster ändern. Lage. Etwas wie window.location = 'http://www.example.com'
würde den Benutzer zu example.com führen.
Ich weiß, dass es etwas spät ist, aber ich hatte genau das gleiche Problem wie du.
Ich musste einen POST mit Ajax machen, und wenn es erfolgreich war, musste ich eine GET-Anfrage an Flask machen, um eine gerenderte Vorlage zurückzugeben. Etwas wie:
FLASCHENTEIL:
%Vor%AJAX-TEIL:
%Vor% Bitte beachten Sie, dass ich weit entfernt bin, um ein Ajax-Experte zu sein. Ich weiß nicht, ob das der richtige Weg ist, aber es war der einfachste Weg, den ich gefunden habe.