播放框架javascript路由无法加载资源
我试图在我的Play Framework应用程序中使用Javascript Rouning,但遇到了一些错误: 我有一个id为next的按钮,它应该使用Ajax将一些新的图像和文本加载到一个名为content的div中 在我的Application.java中,我实现了以下两种方法:播放框架javascript路由无法加载资源,java,javascript,playframework,playframework-2.3,Java,Javascript,Playframework,Playframework 2.3,我试图在我的Play Framework应用程序中使用Javascript Rouning,但遇到了一些错误: 我有一个id为next的按钮,它应该使用Ajax将一些新的图像和文本加载到一个名为content的div中 在我的Application.java中,我实现了以下两种方法: public static Result nextUser(int i) { return ok(content.render(users.get(i))); } public static Result
public static Result nextUser(int i) {
return ok(content.render(users.get(i)));
}
public static Result javascriptRoutes() {
response().setContentType("text/javascript");
return ok(
Routes.javascriptRouter("jsRoutes",
controllers.routes.javascript.Application.nextUser()
)
);
}
已创建此content.scala.html文件:
@(user: User)
<img id="user" src="@routes.Assets.at(user.getImg())" />
<h2>@user.getStatus()</h2>
然后尝试了以下Javascript代码:
<script type="text/javascript" src="@routes.Application.javascriptRoutes()"></script>
<script>
var userIndex = 1;
$("#next").click(function() {
jsRoutes.controllers.Application.nextUser(userIndex).ajax({
success : function(data) {
$("#content").html(data);
},
error: function(err) {
}
});
});
</script>
在javascriptRoutes方法的Application.java文件中,选择controllers.routes。找不到
有人知道是什么导致了错误吗
编辑:
由于以下原因,我可以解决初始错误:
现在看起来是这样的:
即使定义了cleary,也找不到nextUser方法
当我使用activator编译应用程序并使用activator运行它时,我的chrome控制台如下所示:
因此仍然无法找到路由文件。好的,由于以下原因,我可以解决此问题: 问题在于我的routes文档中的顺序。当我在javascript路由之前切换资产声明时,它就开始工作了:
# Javascript Router
GET /assets/javascripts/routes controllers.Application.javascriptRoutes()
# Map static resources from the /public folder to the /assets URL path
GET /assets/*file controllers.Assets.at(path="/public", file)
为什么要标记scala?您是否可以尝试更好地解释您试图实现的目标?请使用文档中描述的JavaScriptReverseRouter:-注意,不支持具有参数的方法;您确实必须使用JavaScriptReverseRouter。
# Javascript Router
GET /assets/javascripts/routes controllers.Application.javascriptRoutes()
# Map static resources from the /public folder to the /assets URL path
GET /assets/*file controllers.Assets.at(path="/public", file)