Mojoliciousでは、コントローラ部分が受け取ったデータをテンプレートで展開します。
これまでhtmlタグにしか展開したことがなかったので不安だったのですが、javascriptにも展開できたんですね。。
まずコントローラ部分
Root.pm
:
(中略)
:
$self->stash->{client_id} = $client_id;
$self->render('example/index');
$client_idという変数の内容を、stash領域へ格納します。stashの説明はこちらを参照。
stashした内容を、以下のhtmlテンプレートに展開します。
index.html.ep
:
(中略)
:
<script>
var client_id = <%= $client_id %>;
var scriptUrl = "datas/" + String(client_id) + "/graph_plot.json";
jQuery.ajax({
url: scriptUrl,
async: false,
:
(中略)
:
client_id に展開した値を格納し、scriptUrl でjsonファイルの場所を指定してやります。
今回はファイルの場所を顧客ごとに一意の値にするため、DBからデータを取得しています。また、テンプレートファイルに展開しているため、.jsファイルに記載されたJavaScriptに値を渡すわけではありません。
何か参考になれば。