8
playフレームワークでjsRoutesを使用してajax呼び出しを試みています。パラメータを取らない要求に対してはうまく動作しますが、Longをパラメータとして受け取るコントローラメソッドを呼び出そうとすると、エラーメッセージなしで失敗します。それをよりよく説明するためのコードがあります。Play Framework 2でjavascriptルートを使用する
ControllerクラスUsers.java:Application.javaコントローラファイルで
public static Result addToShortList(long id) {
return whatever
}
のconf /ルート
POST /shortList/:userId controllers.Users.addToShortList(userId: Long)
私はこのようなjsRoutesを返す:
public static Result javascriptRoutes() {
response().setContentType("text/javascript");
return ok(Routes.javascriptRouter("jsRoutes",
controllers.routes.javascript.Application.frontpage(),
...
controllers.routes.javascript.Users.addToShortList(),
controllers.routes.javascript.Users.removeFromShortList()));
}
今私の中javascript次のようにjsRoutesを使用できます:
はjsRoutes.controllers.Users.addToShortList(id).ajax({
success : function(data) {
alert(data);
},
error : function(err) {
//code always ends up here, with the err giving no eerror message at all!
alert(err);
}
});
...プレイフレームワークのこの機能が不十分な文書化されている、または多分私はそれをどこでも見つけることだけではなく、盲目だという任意の助け
おかげです!
これは私が自分自身にぶつかったPlayの問題です:https://play.lighthouseapp.com/projects/82401-play-20/tickets/756 – InPursuit