Mein Ziel ist es, die ID des Knopfes in das Python-Skript zurückzugeben und es zu verwenden, um Dinge zu kontrollieren, die das Skript macht. Nachdem ich einen ganzen Abend versucht habe und es im Grunde mit Versuch und Irrtum durchgegangen bin, bin ich etwas frustriert, weil es etwas Einfaches geben muss, das ich beaufsichtigte.Flask: Return-Button-ID über Ajax
Ich versuchte, Sachen so viel wie möglich zu reduzieren, aber der Knopf wird immer None
in request.form.get("button")
zurückgeben, der zu einem Fehler 400 führt. Wie ich nicht mit jQuery fest bin, versuchte ich dort viel, aber nichts lieferte etwas anders als a None
.
Kann mir jemand helfen?
from flask import Flask, render_template_string, request
app = Flask(__name__)
@app.route('/')
def index():
return render_template_string('''
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('input').on('click', function() {
$.ajax({
url: "{{ url_for('data_post') }}",
method: "POST",
data: JSON.stringify($(this).attr("id")),
contentType: 'application/json;charset=UTF-8',
success: function(data) {
console.log(data);
}
});
});
});
</script>
</head>
<body>
<input type="submit" id="testvalue" name="button" value="button">
</body>
</html>
''')
@app.route('/data', methods=['GET', 'POST'])
def data_post():
text = request.form.get("button")
return text
if __name__ == '__main__':
app.run(debug=True)
Sie senden nur die ID. Sie geben in den Formulardaten keinen Namen. – dirn