以下のような作業をしたいと考えています。


1. HTMLに書き込んであるjavaScriptで値を設定する。
2. Perlで書いたCGIをサブルーチンのように値を渡してコールする。
3. CGI内でファイルに入出力処理をする。
4. CGIからJavaScriptに値を返す。
5. JavaScriptに返ってきた値を使って処理を行う。

典型例は、JavaScriptからカウンターを呼び出し、キリ番のときに特別な画面を表示させる、といったものです。
JavaScriptからPerlのCGI、CGIからJavaScriptへの値の受け渡しのやり方がどうしてもわかりません。
どなたか良い方法を教えてください。(画面の表示一回につき上記フローは一回しか通っては困りますので、POSTやGETでの自画面への送信ではたぶんだめではと思います。どこかで<IMG SRC=”/cgi-bin/Count.cgi?df=xxx”......>というのを見かけましたが、そうなのでしょうか。その場合でもPerl側での送受信も含めてよろしくお願いします。)

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/05/20 01:01:23
  • 終了:2006/05/25 12:34:33

回答(3件)

id:ekusutasii No.1

ekusutasii回答回数224ベストアンサー獲得回数02006/05/20 01:08:40

やっぱりどうしてもその気持ちって伝えたいものですよね。わかります。http://www.hurinkaran.kamikaze.ne.jp//003576

id:mouitchou

なんだか知りませんが大変迷惑です。

2006/05/20 13:00:39
id:matrix_model No.2

matrix_model回答回数8ベストアンサー獲得回数12006/05/20 01:23:05

ポイント30pt

JSONをつかうと楽になるとおもいます。XMLHttpRequest使って。

http://www.openspc2.org/JavaScript/Ajax/Ajax_study/chapter03/006...

http://jsgt.org/ajax/ref/test/json/getpost/test3.htm

id:mouitchou

有り難うございます。サイトを拝見しましたが、なるべくシンプルにやりたいのです。この説明だと、イモヅル式にいろいろ必要になり、とても簡単という気がしませんでした。

2006/05/25 12:30:20
id:kazu1107 No.3

kazu1107回答回数199ベストアンサー獲得回数142006/05/20 01:57:51

ポイント50pt

<IMG SRC=”/cgi-bin/Count.cgi?df=xxx”>という方法はCGIは画像ファイルに偽装され、呼び出されたタイミングで処理をしています。(データはGETメソッドをつかって送信されます)

私が思いつく方法は二つほど。

一つはCGIの作成にPHPを使い、そのファイルの中にページのHTMLなども一緒に記述し、PHPで処理したカウントの値が条件に合えば対応ページを表示する方法。

二つ目は外部に置かれるCGIにアクセスするため、Ajaxと呼ばれる技術を使うことです。

Ajaxについては最近結構有名になってるので関連書籍などで勉強することが出来ます。まぁ簡単に言えばCGIにデータファイル(XML形式などでprintなどの出力関数で吐く)を出力してもらって、そのデータをJavaScriptで処理するというものです。

ただ、この方法は古いブラウザには使えないのと、そもそもJavaScriptを切っていては出来ない方法のため、ある条件で必ずページを移動させたいという場合には先の方法のほうが有利でしょう。

Ajax関連記事

http://www.atmarkit.co.jp/fwcr/special/ajax01/01.html

id:mouitchou

結局調べたところPHPが一番良さそうでしたので、これでいくことにしました。JavaScriptを書き直しましたが、意外なほどにあっさりと解決しました。詳しくありがとうございました。

2006/05/25 12:32:19

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません