ここから本文です

「Webページ表示中に、一定時間ごとにCGIを起動する方法」ないしは「Webページの表...

xg_nakameさん

2013/5/1115:04:41

「Webページ表示中に、一定時間ごとにCGIを起動する方法」ないしは「Webページの表示中、一定時間間隔でサーバーに対してデータを送る方法」について

例えば、フォームの入力中、誤ってデータを消してしまうのを防ぐために、一時バックアップを取ってくれるシステムを時々見かけます(Livedoorブログなど)。これは、どのような方法で実現しているのでしようか?

ぱっと思いつくのは、Javascriptでタイマーを設定し、OnTimerを捕まえて、CGIを起動する方法です。
Javascriptでテキストエリアの値は当然取得できるので、OnTimerで呼び出される関数内で取得することは可能ですが、これをサーバー内にセーブしたり、この値をCGIに送り込む方法が分かりません。

documet.submit() を使う方法はよく紹介されていますが、これを実行してしまうと、actionで指定したページに遷移してしまいます。そこからすぐリダイレクトで元のページに戻す方法もありますが、おそらく「表示の裏でひっそりバックアップ」とはなりません。入力途中に一定時間間隔で表示がフラッシュするという使いにくいページになってしまうでしょう。

何か良い方法はないでしょうか?
言語としては、必ずしもJavascriptでなくても構いませんが、Javaは使用したことがないので、Javaを使わない方法の方が助かります。

閲覧数:
227
回答数:
1
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

アバター

ID非公開さん

編集あり2013/5/1115:36:45

所謂 Ajax というものです。
XMLHttpRequest という非同期通信を使用しています。
そのままでは、使いにくいので、世の中に出回っている Ajax 用アプリケーションフレームワークなどを使うと良いでしょう。
http://ja.wikipedia.org/wiki/Ajax
jQuery あたりが簡単ですかね。
http://codaholic.org/?p=716

質問した人からのコメント

2013/5/18 09:58:48

降参 ありがとうございます。今まで、このあたりの技術がバラバラの知識でなかなかつながらなかったのですが、Ajax について調べてみて多少見えてきました。jQueryもやっと全体像が見えてきそうです。もう少し勉強してみます。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる