Grails控制器值(映射)到单独的javascript文件
我查看了很多论坛,但还没有得到答案。 所以-我有很多JS代码,所以我将其保存在单独的.JS文件中(不在.gsp视图中)。 但是现在我在访问控制器映射的值时遇到了问题——我需要在我的JS页面上使用它们,这样我就可以生成我的游戏场(基于控制器提供的值)。 我有 然后我在视图中访问了它们,比如-Grails控制器值(映射)到单独的javascript文件,javascript,variables,grails,gsp,Javascript,Variables,Grails,Gsp,我查看了很多论坛,但还没有得到答案。 所以-我有很多JS代码,所以我将其保存在单独的.JS文件中(不在.gsp视图中)。 但是现在我在访问控制器映射的值时遇到了问题——我需要在我的JS页面上使用它们,这样我就可以生成我的游戏场(基于控制器提供的值)。 我有 然后我在视图中访问了它们,比如-${gameInfo.playerName}等等。 但如何让它们进入JS文件呢?例如,玩家选择了一个对象的颜色(即JS生成的颜色)。 例如,ball.fillStyle(${gameInfo.ballColor
${gameInfo.playerName}
等等。
但如何让它们进入JS文件呢?例如,玩家选择了一个对象的颜色(即JS生成的颜色)。
例如,ball.fillStyle(${gameInfo.ballColor})
当然,这是行不通的!
提前感谢!:)您必须使用内联JavaScript分配值
<script type="text/javascript">
var gameInfo = ${gameInfo as JSON};
</script>
var gameInfo=${gameInfo as JSON};
我是否要将其放入.gsp文件中?以及如何访问它的值?比如-游戏信息,玩家名称?!是的,它将在你们的普惠制中。像平常一样访问它。当您执行“作为JSON”时,它是一个JavaScript对象。如果您不理解JavaScript对象,您需要进行一些阅读。这在Grails v2.3.11中对我不起作用-即使在我尝试${raw(foo as JSON)}
时,字符串值周围的引号也被转义。我最终改用了这个:var gameInfo=${gameInfo.encodeAsJson()}代码>。编辑:我的变量是一个Map
。
<script type="text/javascript">
var gameInfo = ${gameInfo as JSON};
</script>