最初にjqueryフォーム検証プラグインを使用して入力の検証を行った後、ajaxでjsRoutesを使用してフォームを送信しようとしています。問題は、ajax呼び出しのパラメーターに「data:form」を追加すると、応答ハンドラーが呼び出されないことです。問題をさらに説明するためのいくつかのコード:
jsRoutes.controllers.Application.authenticate().ajax({
data : {
form : this //this messes things up!
},
success : function(data) {
window.location = "/"; //never called with the above data stuff
},
error : function(err) {
alert(err); //never called with the above data stuff
}
});
コントローラのフォームフィールドを読み取ることができます。もちろん、1つの解決策は、フォームからすべてのフィールドを手動でデータセクションに抽出することです(以下のように)が、これは望ましくありません。他に解決策はありますか?
data : {
username : <username from form>
password : <password from form>
},