LoginSignup
2
2

More than 5 years have passed since last update.

Mojoliciousで、コントローラが受け取ったパラメータをJavaScriptへ渡す

Posted at

Mojoliciousでは、コントローラ部分が受け取ったデータをテンプレートで展開します。
これまでhtmlタグにしか展開したことがなかったので不安だったのですが、javascriptにも展開できたんですね。。

まずコントローラ部分

Root.pm
  :
(中略)
  :
$self->stash->{client_id} = $client_id;
$self->render('example/index');

$client_idという変数の内容を、stash領域へ格納します。stashの説明はこちらを参照。

Mojolicious最速マスター

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に値を渡すわけではありません。

何か参考になれば。

2
2
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2