admin管理员组文章数量:1415636
I'm attempting to make ajax calls using jsRoutes in play framework. It works fine for requests that does not take any parameters, but when I try to call a controller method which takes a Long as a param, it fails with no error message. Here's some code to explain it better.
Controller class Users.java:
public static Result addToShortList(long id) {
return whatever
}
conf/routes
POST /shortList/:userId controllers.Users.addToShortList(userId: Long)
In Application.java controller file i return the jsRoutes like this:
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()));
}
Now in my javascript I can use the jsRoutes by doing the following:
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);
}
});
It seems that the this functionality of the play framework is poorly documented, or maybe I'm just blind not to find it anywhere...
Thanks for any help!
I'm attempting to make ajax calls using jsRoutes in play framework. It works fine for requests that does not take any parameters, but when I try to call a controller method which takes a Long as a param, it fails with no error message. Here's some code to explain it better.
Controller class Users.java:
public static Result addToShortList(long id) {
return whatever
}
conf/routes
POST /shortList/:userId controllers.Users.addToShortList(userId: Long)
In Application.java controller file i return the jsRoutes like this:
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()));
}
Now in my javascript I can use the jsRoutes by doing the following:
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);
}
});
It seems that the this functionality of the play framework is poorly documented, or maybe I'm just blind not to find it anywhere...
Thanks for any help!
Share Improve this question asked Sep 17, 2012 at 11:52 Runar HalseRunar Halse 3,55810 gold badges41 silver badges60 bronze badges1 Answer
Reset to default 5Ok, figured the problem out myself. The problem seemed to be that I used long(primitive) in the controller method. Why this is a problem I do not know.
本文标签: ajaxUsing javascript routes in Play Framework 2Stack Overflow
版权声明:本文标题:ajax - Using javascript routes in Play Framework 2 - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745241625a2649361.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论