【发布时间】:2011-09-26 12:00:28
【问题描述】:
我想使用 Java Play 框架执行一些 AJAX 样式的数据检索,但遇到了“路由”脚本语法问题。
问题在于@{Movies.show("'+movie.id+'")} 下面的代码被编译为url/etc/+movie.id+ 而不是url/etc/1。
<script type="text/javascript">
function showMoreMovies()
{
$.getJSON('@{Movies.jsonAllMovies()}', function(movies) {
var items = [];
$.each(movies, function(i, movie)
{
var div_data = '<div class="movie">'+
'<h2 class="movie-title"><a href="@{Movies.show("'+movie.id+'")}">'+movie.title+'</a></h2>'+
'<div class="release-date">' + movie.releasedString + '</div>'+
'<div class="comments">| comments: ' + movie.commentCount + '</div>'+
'</div>';
$(div_data).appendTo("#movie_results");
});
});
}
</script>
解决方法是对路由 url 进行硬编码:
<a href="url/etc/'+movie.id+'">
这可行,但您失去了自动路由的好处。
有没有其他人遇到过这个问题或找到了解决这个问题的新方法?
【问题讨论】:
标签: java javascript json groovy playframework