- ベストアンサー
CGIのリターンをjavascriptで受けるには
はじめまして、よろしくお願いします。 呼び出すとある文字列を返すCGIがあるとして、呼び出すときは <button onclick="location.href=xxx.cgi" など何とかできるのですが、リターンの受け方がわかりません。 どこにどう戻ってくるのか見当がつきません。 調べてみましたがjavascriptではできるのかどうかすらよくわからなかったので、可能か不可能か、可能ならばその簡単な方法を教えていただけると嬉しいです。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
コードレビューでお願いします。 <iframe src="about:blank" width="0" height="0" id="ifr" name="ifr" style="display:none;"></iframe> <button type="button" onclick="ifr.src='xxx.cgi?q=aiueo';">click</button> <script> function Recieve(value){ alert(value); } </script> xxx.cgi #!/usr/bin/perl use CGI; $c=new CGI; $q=$c->param('q'); print <<_HTML_; Content-Type: text/html; charset=utf-8 <body> <script>parent.Recieve('受信データは$qです');</script> <p>受信完了$q</p> </body> _HTML_ exit; Ajaxを使うなら、XMLHttpRequestかActiveXObjectを使用してください。 Ajaxライブラリを使うなら、そのライブラリの使用法に従ってください。 prototype.jsならajaxrequestではなくAjax.Requestなどです。
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
>リターンの受け方がわかりません。 たんにページが変遷しているので、リターンを受けられるとは思えませんが? 具体的にどのような結果を希望しているのか実例を書いた方がいいかも。 xxx.cgiからデータをとってきて表示したいとかだとajax。 今のページのデータをxxx.cgi上でつかいたいならformでの受け渡しか セッション処理などになるでしょう
補足
ご回答ありがとうございます。 ajaxということでしたがajaxrequestというものを使えばよいのでしょうか?
お礼
ご回答ありがとうございます。 XMLHttpRequestを使って実現いたしました。 サンプルと助言ありがとうございました。