再次问好StackOverflow。 我的任务是修改在Scala的Play上运行的网站!框架和Twitter Bootstrap。我遇到了改变DOM的障碍。我需要完成以下任务:
(正在谈论的页面接受用户输入并传递服务器Form
,如果
valid将Data
中映射的Form
写入数据库。)
Form
无关。Form
。 Form
,写入数据库等问题:
招生:
资源我一直在关注:
谢谢!
答案 0 :(得分:0)
对于将来可能遇到此问题的人,简短的回答是Javascript。
答案很长:
要执行任何AJAX工作,您需要在顶级控制器中使用类似以下的方法来设置Javascript路由:
def javascriptRoutes = Action { implicit request =>
Ok(
Routes.javascriptRouter("jsRoutes")(
SomeOtherController.someMethod // Returns a JsValue!
)
).as("text/javascript")
}
然后在HTML模板(*.scala.html
)中包含一些AJAXy Javascript:
<script type="text/javascript" src="@routes.ApplicationController.javascriptRoutes"></script>
最后在你的实际JS文件中(假设你正在使用jQuery):
$("someSelector").click(function() {
// Notice that this matches the method name that exists in Scala!
// Make sure to pass `someMethod` what it needs.
var req = jsRoutes.controllers.SomeOtherController.someMethod(...)
$.ajax({
url: req.url,
type: req.type,
success: function(json) {
// DOM manipulation, etc., here.
},
error: function(xhr, status, errorThrown) {
console.log( "Error: " + errorThrown );
console.log( "Status: " + status );
console.dir( xhr );
}
}); // ajax
}); // handler