有没有人有一个优雅的解决方案来将服务器值传递给playframework中的javascript(不是内联)?就像html
中的$ {x}或& {'x'}一样目前我能想到
<script type="text/javascript">
var x= ${x};
</script>
<script src="/public/javascripts/jsThatUsesX.js" type="text/javascript" ></script>
我认为游戏有更好的解决方案
答案 0 :(得分:2)
这有什么问题?我发现自己在做像
这样的事情<script>
var trades = [${_trades.collect {models.Trade t -> t.price}.join(", ")}];
// ...
</script>
我喜欢它的常规方式;)
答案 1 :(得分:2)
它不漂亮,但这就是我总是最终做到的方式。
如果您传递给JavaScript的值描述了DOM中的某些内容,您可以考虑使用HTML 5数据属性将该信息放在HTML中。然后,您可以使用getAttribute
检索它。例如如果您的网页是博文,并且您需要存储帖子ID,则可以使用
<div class="post" data-post-id="77">
...
</div>
这样就可以将数据从逻辑中分离出来,而不需要内联任何JavaScript。您还可以使用隐藏的表单字段。