将Grails params传递给Javascript

时间:2012-06-21 08:40:06

标签: javascript jquery grails

我想将GSP中使用的URL参数传递给jQuery函数。我找到了一个有效的解决方案,但我的直觉告诉我使用全局Javascript变量并不是一个好主意。

GSP - 使Grails的params.id可用于Javascript作为全局变量:

<g:javascript >
    var categoryId = ${params.id}
</g:javascript>

在jQuery函数中使用此变量:

<g:javascript src="views/visual.js"/>

使用Javascript:

// Call with URL using the global variable defined in the GSP
$.getJSON(
    "../visualJson?id=" + categoryId,
    function (data) {
    // Some code.
});

Grails的惯用方法是什么?

1 个答案:

答案 0 :(得分:3)

虽然不一定特定于Grails,为什么不将变量传递给函数?说:

在“views / visual.js”中你有:

var someFunction = function(categoryId)
{
    // Call with URL using the global variable defined in the GSP
    $.getJSON(
        "../visualJson?id=" + categoryId,
        function (data) {
        // Some code.
    });
}

因此,您可以通过调用应用中的函数someFunction('${params.id}')来传递值。