0

配列を含むjagファイルがあります。そのjagファイル内にはjavascript関数もあります。私がやりたいのは、そのjavascript内の配列を呼び出すことです

<%
var types = jsonObj.component.type;
var typeId = new Array();
var typeRole = new Array();
for(var i=0;i<jsonObj.component.type.length;i++) {
    typeId[i] =types[i].id;
    typeRole[i] =types[i].roles;
}
log.info("----------"+typeId[0]+ typeRole[0]);
%>

同じファイルで、

<script type="text/javascript">
function generateResponse() {

}
</script>

generateResponse 関数内の配列 typeid を読み取りたい。

4

1 に答える 1

0

最初のスニペットはサーバー側のテンプレートでgenerateResponse、ユーザーのブラウザーによって読み込まれる前に実行されます。これを回避するにはいくつかの方法がありますが、最も簡単なのは、配列と等しい変数を持つスクリプト タグを挿入し、その変数を以下のスクリプトで使用することです。

<%
var types = jsonObj.component.type;
var typeId = new Array();
var typeRole = new Array();
for(var i=0;i<jsonObj.component.type.length;i++) {
    typeId[i] =types[i].id;
    typeRole[i] =types[i].roles;
}
log.info("----------"+typeId[0]+ typeRole[0]);
%>

<script> var typeId = <%= typeId %>;</script>

関数で変数typeIdにアクセスできるようになりましたgenerateResponse

テンプレートにアクセスする前にデータを変換することもお勧めしますが、それは私だけです。

于 2014-10-21T12:21:18.313 に答える