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

时间:2015-09-11 18:55:17

标签: ajax scala playframework playframework-2.0

我在play(scala)框架中使用ajax在页面上发生click事件后运行一些代码。我想在同一页面上返回代码执行的结果。

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

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

Ok(...).as(HTML) 

显示而不指向新页面?

我知道好的可以采取以下措施:

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);
}

1 个答案:

答案 0 :(得分:1)

当然可以。您可以使用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))