Je veux passer les paramètres d'URL utilisés dans un GSP à une fonction jQuery. J'ai trouvé une solution qui fonctionne mais mon instinct me dit d'utiliser des variables Javascript globales ce n'est pas une bonne idée.Passer des paramètres de Grails à Javascript
GSP - faire params.id de Grails disponibles pour Javascript comme une variable globale:
<g:javascript >
var categoryId = ${params.id}
</g:javascript>
En utilisant cette variable dans une fonction 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.
});
Quelle est la façon idiomatique des Grails de le faire?
Ou vous pouvez créer un objet javascript qui contient les variables - de cette façon, vous n'avez pas de variables globales. –
Mais cet objet sera toujours disponible globalement et pourrait être écrasé par d'autres scripts, surtout si vous utilisez des scripts tiers (dans le pire des cas bien sûr) –
Dans ce cas, n'importe quel script peut être écrasé par d'autres scripts. –