0

私は最近、grails の学習を開始しました。ページのレイアウトで次のように宣言された gsp 変数を使用しようとしています。

<g:set var="abtestType" value="newSearchBar" />

同じページにロードされている js ファイル内。私が試したこと:

 alert(${abtestType});  
 alert(<%=abtestType%>);
 alert("abtestType:"+abtestType);

しかし、変数として表示されるエラーは定義されていません。おそらく私は間違った方法で取得しようとしています。これに関して助けが必要です。

4

1 に答える 1

1

Even thinking about doing so neither makes sense nor applicable.

このようなステートメントの理由は、gsp ページが html ページにレンダリングされるときに、grails タグが適切な html タグまたは値に置き換えられるためです。同様に、${}or<%%>を html や javascript など、フロントエンドにあるものに置き換えます。

したがって、gsp 自体にこれらの JavaScript コード行がある場合、試したコードは正常に機能する可能性がありますが、外部化された js ファイルを呼び出しているため、実際には gsp や jsp、または他の言語のフロントエンド サポートについて何も知りません。 .

global variableJavaScriptで使用する場合の1つの方法。例えば

上記の abtestType を以下のように宣言します。

<script>
var abtestType = "${abtestType}"
</script>

abtestTypeこれで、JavaScript でグローバル変数にアクセスできるようになりました。

JavaScriptで使用しますが、この変数を使用するコードが呼び出される場合は、この変数が必要であることを覚えておいてください。variable is not defined

この投稿で見つけた別の方法がありますが、実際には操作です。

Javascript に PHP の __FILE__ 変数に類似するものはありますか?

また、別の良いリンクは

SRC 属性を介して JavaScript に変数を渡す

それが役に立てば幸い!

于 2015-12-07T08:07:40.040 に答える