jquery ajaxからのデータの取得に問題があります。コードからフラスコ内のajaxから投稿されたデータはどのように使用できますか?
$('#clickme').click(function() {
var data = save_input(); // data
data['_sid'] = $survey_id; // survey_id injected from flask
data['_uip'] = $user_ip; // user_ip injected from flask, request.remote_addr
$.ajax({
type : "POST",
url : "{{ url_for('mod.load_ajax') }}",
data: JSON.stringify(data),
contentType: 'application/json;charset=UTF-8',
success: function(result) {
console.log(result);
}
});
console.log(data);
});
、data
は私がフラスコ内で何をしようとしている
{
'foo' : 'foo',
'bar' : 'bar',
'fo_' : 42,
}
のようなjavascriptオブジェクトでは、次のとおりです。
@mod.route('/load_ajax', methods=["GET", "POST"])
def load_ajax():
if request.method == "POST":
# load _sid and _uip from posted JSON and save other data
# but request.form is empty.
# >>> request.form
# ImmutableMultiDict([])
return str(request.form)
が見る、AJAX要求がなされているが、データは提出されません。私はconsole.log(data)
とajaxを実行するので、実際にはjqueryの変数data
に意味のあるデータがあることがわかります。 ajaxビューのrequest.formは空です。データはどこに提出されますか?
に変更されます。「JSON.stringify(data)」を 'data'に変更して何が起こるかを確認してください。 – Blender
@Blender私はデータを受け取ります。これをJSON形式でどのように受け取ることができますか? – thkang
'request.json'を試しましたか? – Blender