我如何做到這一點是使用javascript的ajax請求,看起來像這樣。我認爲最簡單的方法也是使用JQuery,因爲它可能會更純粹的JavaScript。
// 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需要JSGlue這基本上讓你用瓶的 url_for但JavaScript的。查看它,輕鬆安裝和使用。否則,我認爲你可以只用URL如「/ function_url」
取代它,然後在服務器端,你可能有這樣的事情:
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')
我認爲主要的點查找Ajax請求在jquery中,flask的request.json()和jsonify()函數。
這個問題太廣泛了。學習如何創建一個最小化的Flask應用程序(這裏有很棒的指南:http://flask.pocoo.org/docs/0.12/quickstart/),然後學習如何將參數傳遞給Flask端點。 – Brennan