私のFlaskアプリケーションのテンプレートには、トリガーされると特定のルートにデータを投稿しようとするJavaScript(jQuery)コードが含まれています。
var jqxhr = $.post($SCRIPT_ROOT+endpoint,
post_data,
function() {
alert("Yays!"); })
.done(function() { ...finalize_client... })
.fail(function (jqxhr, textStatus, err) {
alert("Our server returned an error\n" + err +
"\n" + textStatus + "\n" +
"Please try again later.");
});
};
サーバー側は次のendpoint
ような機能に対応します
@mod.route(endpoint, methods=['POST',])
def validate_post_data():
...
test = validation_function(post_data)
if test:
...finalize_server...
return render_template(...)
return ???
の有効性をチェックしますpost_data
。検証が失敗した場合は、クライアントにメッセージを送り返したいと思います。これにより、何が問題なのかをもう少し知ることができます。js コードで必要なerr
とを取得するには、何を返す必要がありますか? textStatus
を使用できますがflask.abort(whatever)
、メッセージをカスタマイズする可能性はありませんね。