我正在尝试在播放框架中使用 jsRoutes 进行 ajax 调用。它适用于不带任何参数的请求,但是当我尝试调用一个将 Long 作为参数的控制器方法时,它会失败并且没有错误消息。这里有一些代码可以更好地解释它。
控制器类Users.java:
public static Result addToShortList(long id) {
return whatever
}
配置/路由
POST /shortList/:userId controllers.Users.addToShortList(userId: Long)
在 Application.java 控制器文件中,我像这样返回 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);
}
});
似乎播放框架的这个功能没有得到很好的记录,或者我只是盲目地没有在任何地方找到它......
谢谢你的帮助!