我想将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的惯用方法是什么?
答案 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}')
来传递值。