[英]How to pass a value directly from a controller to a javascript file in Grails
想要直接從控制器傳遞到JavaScript文件。
TestControler.groovy
def list() {
render (view: "list", model:[theId: theId])
}
Test.js
function test() {
// do smth with theId
}
找到的解決方案在中間顯示了gsp,即這個 ,但我想知道是否有一種方法可以避免這種情況,包括使用隱藏字段或在gsp文件中包含一個javascript代碼段,例如:
<g:javascript>
function test(${theId}) {
// do smth with theId
}
</g:javascript>
不幸的是,似乎沒有任何東西可以滿足您的需求。 我所見並用過的最好的方法是使用gsp / html中的隱藏字段,並從客戶端的javascript中檢索這些值。
我有類似的問題,這就是我解決的方法。
說你有這個控制器:
def list() {
render (view: "list", model:[theId: theId])
}
然后在您的視圖(list.gsp)
<g:javascript>
var theId = ${theId}
</g:javascript>
然后,外部文件上的函數就可以使用變量theId
進行任何操作,因為它是全局變量。
function test() {
// do smth with theId
}
我個人有一個復雜的json對象,因此我不需要將json編碼為html並在客戶端需要時將其贊回json,而是將其作為gsp中的js json變量,然后我可以從客戶端
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.