投稿要求を使用してajaxを使用してhtmlからpythonにいくつかのデータを渡そうとしています。しかし、要求の引数は空です。Ajaxを使用してフラスコにデータを渡す
単純なエンドポイントで、私は要求の形で来るすべての引数を表示しようとしています。
@app.route("/enter", methods=["POST", "GET"])
def enter_data():
if request.method == "GET":
return render_template('index.html')
else:
print("post")
print(request.args)
return render_template('index.html')
デバッグ出力
post
ImmutableMultiDict([])
127.0.0.1 - - [22/Sep/2016 00:40:12] "POST /enter HTTP/1.1" 200 -
AJAX関数値がJSコンソールに印刷されます
$(function() {
$('.button').click(function() {
var user = $('#userinput').val();
console.log(user);
$.ajax({
url: '/enter',
data: JSON.stringify({'user': $('#userinput').val()}),
type: 'POST',
success: on_request_success,
error: on_request_error,
})
});
});
以下の通りです。しかし、Python側には存在しません。
htmlコード
<body>
<h3>The Chef Bucket</h3>
Enter food you like to order.
<input type="text" name="user_data" id="userinput" />
<input type="button" value="Submit" class="button">
<div id="userinputdata">
{% if not entered %}
<h4></h4>
{% else %}
<h4>{{ entered }}</h4>
{% endif %}
</div>
</body>
on_request_success関数はどこですか? – madalinivascu
'POST/enter'にargsがないので、何も表示しません。 'POST/enter?foo = bar'を実行すると、何が印刷されますか? – alexpeits