Run*_*lse 8 javascript ajax playframework-2.0
我试图在play框架中使用jsRoutes进行ajax调用.它适用于不带任何参数的请求,但是当我尝试调用一个以Long作为参数的控制器方法时,它会失败而没有错误消息.这里有一些代码可以更好地解释它.
控制器类Users.java:
public static Result addToShortList(long id) {
return whatever
}
Run Code Online (Sandbox Code Playgroud)
的conf /路线
POST /shortList/:userId controllers.Users.addToShortList(userId: Long)
Run Code Online (Sandbox Code Playgroud)
在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()));
}
Run Code Online (Sandbox Code Playgroud)
现在在我的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);
}
});
Run Code Online (Sandbox Code Playgroud)
似乎播放框架的这个功能很难记录,或者我可能只是盲目不在任何地方找到它...
谢谢你的帮助!
| 归档时间: |
|
| 查看次数: |
4340 次 |
| 最近记录: |