• 締切済み

Ajaxにおける非同期通信で、数値を取得する方法

小さなクリニックを経営しています。 企業に頼らずに、診察番号を表示するプログラムを作ろうと思っています。 数値が記されている"number.dat"を2秒毎に非同期通信によって取得して、ブラウザに映し出すにはどのようなコードを書けばいいでしょうか? ブラウザ側でf5更新しなくても、数値を動的に取得してくれる、というイメージです。 ちなみに数値は他のCGIによって変更するつもりです。 よろしくお願いします。

みんなの回答

  • nine999
  • ベストアンサー率44% (512/1140)
回答No.5

訂正です。 var text = httpObj.responseText; の部分は var text = obj.responseText; です。

すると、全ての回答が全文表示されます。
  • nine999
  • ベストアンサー率44% (512/1140)
回答No.4

丁度書いていたところなので、ほぼそのまま貼り付けておきます。 変数textにnumber.datが入ります。 timerID = setInterval('loadText()',2000); //2秒ごとに呼出 function loadText() { var obj = createRequest(); //通信開始 if (obj) { obj.open("get","number.dat"); obj.onreadystatechange = function() { if (obj.readyState == 4 && obj.status == 200) { var text = httpObj.responseText; //読み込み後の処理を書く } } obj.send(null); } } function createRequest() { try { return new XMLHttpRequest(); } catch (e) { try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { return null; } } return null; }

参考URL:
http://www.shurey.com/js/labo/db/
すると、全ての回答が全文表示されます。
回答No.3

>No.1 訂正です。 <div id="output"></div> >No.2 タイポの部分は直してもらうとして。 私はそれでもいいと思います。

gohandaisuki520
質問者

補足

何度も質問して申し訳ないのですが、prototype.jsをダウンロードして同じフォルダに入れる必要はありますか?

すると、全ての回答が全文表示されます。
回答No.2

>このソースコードを、具体的にhtmlのどこに設置すればよいのでしょうか? このライブラリを使う場合(または自作のXHRオブジェクト生成コードで)はどう書けば、、、というような補足ならともかく、 失礼ながら、このレベルは小学一年生が扇形の面積を測ろうとしているようなものです。 制作会社に製作を依頼した方が良いのではないでしょうか。 ----- ちなみに回答は、「表示したい場所」です。

gohandaisuki520
質問者

補足

診察番号のプログラム自体はPerlで書いています。 自動で番号を更新するために非同期通信を使おうと思ったのですが・・・ 不快に感じられたようならごめんなさい。 下記のように、本文中にそのまま挿入しては駄目なのでしょうか? ---------------------------------------- <html> <head> </head> <body> <div id="output"></number> <script> new Ajax.PeriodicalUpdater('output', './number.dat', {frequency: 2}); </script> </body> </html>

すると、全ての回答が全文表示されます。
回答No.1

Prototypeを使用。 http://prototypejs.org/ <div id="output"></number> <script> new Ajax.PeriodicalUpdater('output', './number.dat', {frequency: 2}); </script>

gohandaisuki520
質問者

補足

すいません、プロトタイプベースには詳しくなくて・・・ このソースコードを、具体的にhtmlのどこに設置すればよいのでしょうか? 稚拙な質問でごめんなさい。

すると、全ての回答が全文表示されます。

関連するQ&A