Estoy intentando hacer llamadas ajax utilizando jsRoutes en el marco de juego. Funciona bien para solicitudes que no toman ningún parámetro, pero cuando trato de llamar a un método de controlador que toma un Long como parámetro, falla sin mensaje de error. Aquí hay un código para explicarlo mejor.Uso de rutas de JavaScript en Play Framework 2
controlador de clase Users.java:
public static Result addToShortList(long id) {
return whatever
}
conf/rutas
POST /shortList/:userId controllers.Users.addToShortList(userId: Long)
En el archivo controlador Application.java Puedo devolver el jsRoutes así:
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()));
}
Ahora, en mi javascript Puedo usar jsRoutes haciendo lo siguiente:
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);
}
});
parece que el esta funcionalidad del marco de juego no está bien documentado, o tal vez sólo soy ciego para no encontrar en cualquier lugar ...
Gracias por cualquier ayuda!
Este es un problema con Play que he encontrado: https://play.lighthouseapp.com/projects/82401-play-20/tickets/756 – InPursuit