我有一个模板,它通过 jQuery
从后端读取 json 数组,并填充选择的 html 元素。
我以前是这样的(省略了不必要的代码):
....
<select class="mySelect"></select>
<script type="text/javascript">
$.ajax({
url: "@routes.Users.list",
success: function(data) {
// Populate the select from 'data' array
}
});
<script>
....
现在,我已将这部分重写为单独的模板,并且我需要提供相同的路由网址
:
@_customSelect(..., "@routes.Users.list"...)
但是,无论是否有 @
,都不会评估路线(是的,行首有一个“魔术字符”)。我收到 HTTP 错误 404(找不到地址,显然 http://localhost:9000/@routes.Users.list
不存在)。
这种机制可能吗?谢谢
最佳答案
您只需要第一个@
“魔法字符”。模板引擎足够智能,可以找出语句的结尾。
@_customSelect(..., routes.Users.list, ...)
routes.Users.list
是 play.api.mvc.Call
的实例。如果您需要它作为 String
或其他东西(由于类型安全性),那么我认为您可以添加 .url
或 .toString
在最后。
@_customSelect(..., routes.Users.list.url, ...)
关于javascript - 是否可以在将路由传递给另一个模板之前对其进行评估?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15233531/