jQueryの$.post()オブジェクトを使用してXHRAJAXリクエストを送信するWebページを作成しています。投稿は、別のドメインにあるFlaskアプリによって受信されています。Javascriptは以下のとおりです。
$.post('http://myurl.com/create', {
'title': sender.title,
'url': sender.url
});
該当するFlaskルーターコードは次のとおりです。
@app.route('/create', methods=['GET', 'POST'])
@crossdomain(origin='*')
def create():
print(request.args.get('title'))
if request.method == 'POST':
title = request.form['title']
url = request.form['url']
new_mark = Mark(
title=title,
url=url
)
new_mark.save()
return redirect(url_for('index'))
フォームがURLに送信された場合、Pythonは正常に機能しますが、jQueryのAJAXオブジェクトを介してPOSTした場合は機能しません。AJAXリクエストを実行しようとするたびに400エラーがスローされます。Flaskのrequest.argsオブジェクトを見ましたが、リクエストが行われたときに何も含まれていません。
何か案は?