通过 ajax 在同一页面上播放框架呈现 HTML 和值

Play framework render HTML & values on same page via ajax

我在 play (scala) 框架内使用 ajax 在页面上发生点击事件后 运行 一些代码。我想 return 在同一页面上执行该代码的结果。

编辑:这样做的目的是显示数据库中的一些行,以及要填写的表单元素以更新数据库的单元格,所有这些都不需要reloading/or转到新页面

有没有办法将 html + (scala) 值传递给

Ok(...).as(HTML) 

显示而不指向新页面?

我知道 Ok 可以接受这样的事情:

Ok(<h1>it works</h1>).as(HTML) 

但我也不知道如何将它与 scala 值结合起来。有没有更聪明的方法来做到这一点?

编辑:ajax 看起来像这样:

var ajaxCall = function() {
var ajaxCallBack = {
    success : onSuccess,
    error : onError
}

jsRoutes.controllers.Application.scrape().ajax(ajaxCallBack);
};

var  onSuccess = function(data) {
$("#results").append(data);
}

var onError = function(error) {
alert(error);
}

当然可以。您可以使用 TWIRL 个模板:

创建模板“views/Application/contacts.scala.html

@(users: List[User])

<h1>Users</h1>

<ul>
@for(user <- users) {
  <li>@user.name</li>
}
</ul>

在控制器中:

Ok(views.html.Application.contacts(users))