我在GSP的<head>
中有以下内容
<script type="text/javascript>
$("button.remove-item").click(function() {
$.ajax({
url: "${createLink(action: 'remove', controller: 'cart')}",
type: 'POST'
});
});
</script>
请注意,我正在使用Grails的createLink标记来构造AJAX请求将发送到的URL。当我将这段代码移动到checkout.js
并将上面的代码块替换为:
<script type="text/javascript" src="${resource(dir: 'js', file: 'checkout.js')}"></script>
Grails不再计算 createLink
标签。因此,<script>
块内的Grails标签似乎被评估,但gsp包含的.js文件内的标签没有-有办法改变这一点吗?
查看GSParse插件,将css和js解析为gsp文件:
http://nerderg.com/GSParse http://grails.org/plugin/gsp-arse你是对的。js文件不会被grails求值!但普惠制是!这就是为什么当你设置一个标签时,它是工作的。我建议你有一个不同的方法来抓住这个链接!当你使用jquery时,我会这样做:
<input type="button" class="remove-item" data-url="${createLink(action: 'remove', controller: 'cart')}" value="GO" />
checkout.js:
$("button.remove-item").click(function() {
$.ajax({
url: $(this).data('url'),
type: 'POST'
});
});