EJSテンプレートに表示されている値を、GETやPOST経由ではなく自動更新するにはどうすればいいのでしょうか?
teratail初投稿です!これから活用させて頂きます!
本題ですが、Nodejs + Expressを使ったWebアプリ開発を勉強しております。
初歩的な質問で申し訳ありませんが、ご教示ください。
現在、Nodejs + Express + EJSで簡単なWebアプリの仕組みを理解しながらサンプル画面を作って確認している段階です。
EJSテンプレートに表示しているデータは、試験的にMySQLでテーブルにテストデータを入れて<%= hoge %>の形で動的に取得したデータが表示されるようにしております。
よく参考書やインターネットで記載されているサンプルコードで、
Nodejs
1app.get("/"),function(req,res){ 2 res.render("./index.ejs", {"hoge":200}); 3};
このようなクライアント側からのGETメッセージなどをキックに、画面処理等を行う仕組みが紹介されておりますが、そこで管理画面や監視画面のようなものを作ってみようと思うと、
「GETが来なくても最新のDBデータを更新して<%= hoge %>の部分を更新したい。」
という思いが湧きました。
私の浅知恵ですと、IntervalTimerのようなもので上記のrender部分を継続して実施するのかな?と思いましたが、GETが来てるわけでもありませんし、renderを実行したときに全画面描画が走るように見えて、毎回F5を押しているのと同じように見えて、非効率に感じました。
また、render()の他にsend()という関数もあることを知りましたが、EJSファイルの中身をReadしてきて置換したい<%= hoge %>の部分を書き換えてsend()する?とも考えましたが、それもいちいちファイルを全て読み込むという非効率さを感じました。。。
皆様はこのような場合は、どのような手法をとられているのでしょうか?
初歩的な質問すぎて恥ずかしいですが、ご教示くださると嬉しいです。
よろしくお願いいたします。
あなたの回答
tips
プレビュー