質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

Q&A

解決済

1回答

1008閲覧

ブラウザによる機器メンテナンス画面で動的な表示を行う方法

cupnew1988

総合スコア20

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

0グッド

0クリップ

投稿2021/07/29 01:12

編集2021/07/29 05:33

ネットワーク・サーバ構築や組み込み業務を主としていて、周囲にweb系に強い人材がいないので投稿します。

機器のメンテナンス画面を「テキスト+コンソール」や「GUIツール+クライアント/サーバ」からブラウザに置き換えを検討しています。
<例>
ルータ設定画面で設定値の変更や現在ステータスを周期的に更新するようなものです。

ここでページ更新時に機器(サーバ側)の状態をまとめてhtmlとしてブラウザに表示することは比較的容易に実装できますが、

  • 設定変更ボタン押下 → サーバ上のスクリプト実行 → 結果をボタン横に表示
  • サーバ側のステータス/ログを動的に画面表示

など動的な表示は単純なhtmlでは対応できません。

機器OS: Linux
サーバ: lighttpd  場合によっては busyboxのhttpd
※Ruby on Railsなどマシンスペックを必要とする機能を使わない構成です
※保守用なので表示に凝った機能は必要ありません

<質問>
0. このような環境でWEB画面を実装する場合に推奨(よく使われる)言語等は何でしょう
0. ブラウザでサーバからの応答を画面に表示する方法の例題はありませんか。
もしくは、関連するサイト情報などでも構いません。
(サンプルなどで大まかな流れが分かれば対応できると思うので)

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2021/07/29 03:02

PHP, Python, Perl, Ruby など、CGI を書ける言語ならなんでもいけそうですね。 https://www.ossnews.jp/oss_info/lighttpd また、画面遷移せずに現在のページを書き換えるには JavaScript も必要です。 例題は、普通に Web 開発でググればいくらでもある (ありすぎて困る) のでは…。
cupnew1988

2021/07/29 04:56 編集

Python Ruby等はWEB以外の業務で使用するので、ブラウザ画面(ページ)を遷移する程度は問題ありません。 確かに「web開発」で検索すれば大量にヒットしますが、 ここでは「ブラウザ側の画面の一部を更新する手法」について質問をしています。(特にlighttpd/busybox-httpdなど簡素な環境で) これに関連するような情報を具体的に掲載しているサイトがあればお知らせください。
hoshi-takanori

2021/07/29 04:23

「ブラウザ側の画面の一部を更新する手法」は AJAX でしょうね。サーバー側は JSON などを返せば良くて、あとは JavaScript で画面を書き換えることになりますが、やり方は色々ありまして…。とりあえず jQuery を使うと楽ができるかも?
cupnew1988

2021/07/29 04:58

参考にします。 ありがとうございました。
cupnew1988

2021/07/30 05:39

jQuery(JavaScript) から ajax を使って サーバ上のRubyを実行して結果を表示することができました。 思った以上に簡単に連動できるので安心しました!! この手順を利用すれば色々な処理に応用できそうです。 ありがとうございました。
guest

回答1

0

自己解決

jQuery(JavaScript) から ajax を使って サーバ上のRubyを実行して結果を表示することができました。

<div class="result">結果出力</div> <input type="button" class="btn_get_status" value="実行"> <script src="js/jquery-3.6.0.min.js"></script> <script> $(function(){ $('.btn_get_status').click(function(){ $.ajax({ url: 'cgi-bin/get-status.rb', type: 'GET', dataType: 'html' }).done(function(data){ $('.result').html(data); }).fail(function(data){ alert('NG !!'); }); }); }); </script>

この手順を利用すればブラウザでも色々な処理に応用できそうです。
ひとまず解決しました。

投稿2021/07/30 05:43

編集2021/07/30 05:48
cupnew1988

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問