簡體   English   中英

如何將值直接從控制器傳遞到Grails中的javascript文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM