Wie ich dies tat, war eine Ajax-Anfrage von der Javascript, die in etwa so aussehen würde. Ich denke, der einfachste Weg wäre die Verwendung von JQuery, da es mit reinem Javascript etwas ausführlicher sein könnte.
// some movie data
var movies = {
'title': movie_title,
'release_date': movie_release_date
}
$.ajax({
url: Flask.url_for('my_function'),
type: 'POST',
data: JSON.stringify(movies), // converts js value to JSON string
})
.done(function(result){ // on success get the return object from server
console.log(result) // do whatever with it. In this case see it in console
}
Flask.url erfordert JSGlue die im Grunde lassen sie Sie url_for Flask des verwenden, aber mit Javascript. Nachschlagen, einfache Installation und Nutzung. Ansonsten denke ich, nur um es mit der URL zB ‚/ function_url‘
Dann auf der Serverseite ersetzen könnte man vielleicht so etwas wie dieses:
from flask import request, jsonify, render_template
import sys
@app.route("/function_route", methods=["GET", "POST"])
def my_function():
if request.method == "POST":
data = {} // empty dict to store data
data['title'] = request.json['title']
data['release_date'] = request.json['movie_release_date']
// do whatever you want with the data here e.g look up in database or something
// if you want to print to console
print(data, file=sys.stderr)
// then return something back to frontend on success
// this returns back received data and you should see it in browser console
// because of the console.log() in the script.
return jsonify(data)
else:
return render_template('the_page_i_was_on.html')
Ich denke, die wichtigsten Punkte sind AJAX-Anfragen zu sehen in jquery, flash request.json() und jsonify() funktioniert.
Diese Frage ist zu breit. Erfahren Sie, wie Sie eine minimale Flask-Anwendung erstellen (hier eine Anleitung: http://flask.pooco.org/docs/0.12/quickstart/) und lernen Sie dann, wie Sie Parameter an einen Flask-Endpunkt übergeben. – Brennan