- ベストアンサー
PerlでCGIの書き方
今、HTML:Templateを用いてCGIのプログラムを書いています。 基本的にCGI上のボタンをおすとPOSTで情報をわたして、次のCGIにいき、そこからTMPLを読み出して、画面を表示してるのですが、画面場のボタンをおしてもCGIを更新せずに、Perlの実行だけすることは可能ですか?あるいは、POSTでCGIに届いた情報をIF文で中身を確認して、表示するTMPLをかえて、Perlの実行も行うのが普通のやりかたなのでしょうか? あまりよくわからずにネットだけの情報をたよりにプログラミングをしているので設計の仕方など分からないことが多々あります。 どなたかCGIに詳しい方ご返答おねがいします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Ajaxからコールして受信内容を破棄すれば良いです。 こんな感じ function HogeHoge(){ var xmlhttp = createHTTPRequest(); var CGIURL = 'CGIのフルURL「http://」から記述'; var sDT; xmlhttp.open('GET', CGIURL, true); xmlhttp.onreadystatechange = function(){ if (xmlhttp.readyState == 4) { if (xmlhttp.status == 200) { sVOID = xmlhttp.responseText; } else { // 通信に失敗 } } else { // 通信中… } } xmlhttp.send(null); }
その他の回答 (1)
- okmotokun
- ベストアンサー率59% (92/155)
「CGI」とはクライアントからの要求(リクエスト)を受けてサーバーでプログラムを実行し、その結果を返して画面に表示する「仕組み」です。 したがって、プログラムの実行だけをして結果を返さないようにすることはできません。(結果を返さないとエラーになります)
お礼
そうですね。そういわれてみればそのように聞いたことがあるようなきもします。ありがとうございました。
お礼
実は、まだ調べてないですが。本当にありがとうございました。
補足
解決法をありがとうございます。Ajaxという単語は聞いたことあったのですが、何かは知りませんでした。 こういうときに必要なんですね。実際に必要にせまられないと分からないものですね。 少し調べてみて、挑戦してみますね。それにしても、プログラミングは奥が深すぎるし、肩がこるし、神経質にならないといけないし、将来SE(就職活動中の学生なので)になるかどうか、本当に悩みます。