【发布时间】:2016-09-24 14:25:01
【问题描述】:
我正在我的 PlayFramework 应用程序中实现 jquery autocomplete。但我当前的代码返回 404 错误。
我的代码在index.scala.html:
<script>
$( function() {
$( "#search" ).autocomplete({
source: "jsRoutes.controllers.BasicController.auto"
} );
} );
</script>
<input id="search">
BasicController 的方法 auto 返回 JSON 响应,格式如下:
[{"label":"label1","value":"value1"},{"label":"label2","value":"value2"}]
routes文件:
GET /auto controllers.BasicController.auto(term: String)
GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset)
GET /javascriptRoutes controllers.BasicController.javascriptRoutes
Javascript 路由器是根据official Play documentation 设置的。在我看来,问题出在.autocomplete 函数的source 参数中。也许 URL 应该看起来相反?
编辑:
路由器方法
def javascriptRoutes = Action { implicit request =>
Ok(
JavaScriptReverseRouter("jsRoutes")(
routes.javascript.BasicController.auto
)
).as("text/javascript")
}
在模板中:
<script type="text/javascript" src="@routes.BasicController.javascriptRoutes"></script>
【问题讨论】:
-
你是如何生成路由器的?嵌入式还是动作?可以贴一下你的路由器代码吗?
-
@Nio ,添加代码。
-
@АндрейЮсупов 尝试改用
jsRoutes.controllers.BasicController.auto().url -
@Salem ,来源:jsRoutes.controllers.BasicController.auto().url 根本不起作用,甚至没有发送请求。
标签: jquery scala playframework jquery-ui-autocomplete