私はAjaxの投稿要求を送信するのに苦労していますが、どこが間違っているのか分からず、私はjsと提出するこのフォームを持っています。 DIV:ajax json投稿のフラスコへの投稿
<script type="text/javascript">
$(document).ready(function() {
$('input[type=radio]').on('change', function() {
$(this).closest("form").submit();
var poll_id = $(this).closest("div").attr("id");
var data = {poll_id};
console.log(JSON.stringify(data));
$.ajax({
url: '/poll',
type: 'POST',
data: JSON.stringify(data),
contentType: 'application/json',
dataType: 'json'
}, function(data) {
console.log(data);
});
});
});
</script>
、フラスコに私はrequest.get_json()
でそれを要求するが、エラー400を取得し維持しようと、フォームとdb.commit()が正常に動作します:
@app.route('/poll', methods=['GET', 'POST'])
def poll():
polltodb = pollingresult(request.form['points'])
session['points_session'] = request.form['points']
db.session.add(polltodb)
db.session.commit()
data = request.get_json()
print data
しかしget_json()が失敗します。
それは2つのリクエストを作ることが可能ことはないが心配しないでくださいと、フォームを介してデータにアクセスし、その後
を?私が最初に試したアプローチ – destinychoice
2つのリクエストを作成することは間違いありませんが、GETまたはPOSTリクエスト(フォームを送信するか、ブラウザに新しいページに行くように指示するなど)を行うと、未処理のXHRリクエスト(AJAXなど)帰る場所はありません。 – abigperson