激凹みから立ち直る方法

JSの値をPERLで受け取りたいんですが

例えばCGIのファイルで

my $value;
    print "<script type=\"text/javascript\">";
    print "hoge();"; #このメソッドの値を$valueに受け取りたい
print "</script>";


JS側ではまあ

function hoge(){

return Value;

}


みたいな事って出来ないんでしょうか?

メソッドのところで

 print $value="hoge();";

とか

  print "$value=hoge();";

とかやってもできません。

A 回答 (1件)

かなり乱暴な説明ですが・・・


1)ブラウザがサーバにurlをリクエストする。
2)サーバはそれがCGIなら実行してその結果出力(printされたもの)を、通常のHTMLならそのファイルを読み出してブラウザに送り返す。
3)ブラウザは受け取ったデータを表示、Javascriptがあればそれを実行する。


実行する場所・タイミングがまるで違うので質問のような事は不可能です。

Javascriptでサーバにデータを送信する処理、CGIでそれを受け取る処理を作る必要があります。
「Ajax」について調べてみてください。(その前にCGI、Javascriptというのがどのような仕組みであるかの基本を理解しないとAjaxもよくわからんと思うけど)
    • good
    • 0
この回答へのお礼

そうですね、これはメインの処理とだいぶ関係ないところで、
ちょっとしたパラメタを更新されたページに反映したかっただけなので、考えてるうちになんか訳わからない発想になってしまったかもしれません。

基本コンポーネントやismap等の値をサーバに送ってサーバが表示するhtmlとあわせて実行するという事ですよね!?
そのhtmlとあわせて書かれていたJSをブラウザが実行する感じだと思うんですが、単に関係ない表示に関するパラメタを更新後に渡したいんですが、、

もしいい解説サイトがあれば教えていただきたいんですが。。


あと<input でtypeをhiddenにしてvalueにパラメタを入れて渡すとかを思いついたのでやってみます。


ありがとうございました。

お礼日時:2010/06/18 00:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!