【问题标题】:Play framework url problems播放框架url问题
【发布时间】: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


【解决方案1】:

这对我来说很好用:

 source: "@routes.BasicController.auto()"

所以我误解了为什么需要jsRoutes(如官方文档中所述)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-09
    • 2023-03-22
    • 1970-01-01
    • 2013-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多