• 締切済み

send()メソッドでサーバーに変数を送信したとき、サーバー側から戻値を受け取ってしまう

使用環境 os:Mac OS X Flash MX send()メソッドでサーバーに変数を送信したとき、サーバー側から戻値を受け取ってしまうためブラウザが起ち上がり、Internal Server Errorと表示されてしまいます。 戻値を受け取る必要が無いので、perlの実行文にはprint命令はありません。なぜ、戻値が発生してしまうのでしょうか? スクリプトは以下のような簡単なものです。 mySendVars = new LoadVars(); mySendVars.sendtxt = "test"; mySendVars.send("http://~.cgi","POST");

みんなの回答

  • suzuki-_-
  • ベストアンサー率77% (152/195)
回答No.1

その内容に関しては以下の内容が参考になると思われます (リファレンスガイドより) // send() メソッドの呼び出しが成功すると常に、新しいブラウザウィンドウが開くか、既存のウィンドウまたはフレームの内容が置き換わります。情報をサーバーに送り、新しいウィンドウを開いたり、ウィンドウやフレームの内容を置き換えたりせずに、SWF ファイルの再生を続行する場合は、LoadVars.sendAndLoad() を使用してください。 //

noname#127753
質問者

お礼

早速のご回答ありがとうございます。 エラーチェックをしないで、データ送信のみを考えていたのでsendAndLoad()は考慮していませんでした。 リファレンスガイドを参考に、スクリプトを組みなおしてみます。 ありがとうござました。

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

関連するQ&A

  • XMLHttpRequestのsendメソッド

    現在以下のようにスクリプトを記述し、実行すると処理は正しく動作するのですが処理が終わるまでに5分以上かかっています。 調べてみるとsendメソッド実行時に時間がかかっているみたいなのですが原因が不明です。 どなたか同じ現象になった方はいませんでしょうか? httpRequest = new XMLHttpRequest(); httpRequest.open('GET', url, false); httpRequest.send(null);

  • これはサーバー側の設定?

    お世話になります。 ろくにperlも書けない初心者です。 Flash(SWF)内でメールフォームを作っています。 丁度良いサンプルがあり、そのCGI(perl)をそのまま拝借。 テスト用(自前)のサーバーでは問題なく動作。 ところが実際に使用するサーバーに上げてみると動かないのです。 仕組みとしては、swfからgetURLで変数(送信元、送信先、メッセージなど)をcgiへPOST送信。 cgiは未記入のモノがあったらerror、埋まっていればOKの変数を返す。 (swf内のテキストボックスを受信用に空けています) その変数によって、飛ぶフレームを判断、「送信完了」「送信エラー」などを表示する。 といったモノです。 CGIの設置位置(perlへのパス、cgiへのパス)は確認しました。 パーミッションも確認済み。 何より、返り値の無い、HTMLを生成するタイプのCGIは動作しています。 さて、どうすれば上手く表示されるか分かりませんか? サーバーによってそういった違いってあるのでしょうか? 念のため、仕様は以下の通りです。 ウェブサーバーソフト(httpd) Apache1.3.22 Cコンパイラ gcc (ver2.8.1)/usr/local/bin/gcc OS Solaris2.6 SPARC版 利用可能なPerl Perl5 ( 5.005_03 ) よろしくお願いします。

    • ベストアンサー
    • Perl
  • FlashよりLoadVarsクラスを使用し,CGIへデータを送信しようとしていますが…

    FlashよりLoadVarsクラスを使用し、CGIへデータを送信しようとしていますが・・・。 なかなか成功しません;; Flashのアクションスクリプト、およびCGI(Perlで)スクリプトをお教えいただけないでしょうか? -詳細- ボタンに LoadVars.send(); LoadVars.sendAndLoad(); などを使用し、Flash→CGIへ送信し、結果を表示したり、Flash→CGIへ送信し、CGIで送信した変数などを処理した後、Flashより変数を受信し、表示する。 -例- 1.Flashよりテキストフィールドに文字を入力し、CGIへ送信。 2.CGIにて受信後、受信した文字をopenで保存(.txtファイル作成) 3.先ほどCGIより保存したtxtファイルをFlashから読み込む。 -環境- 楽天さんのiswebライトでPerl言語を使い、Content-typeをHTMLでCGIを作成しております。 ご教授いただければ幸いです。 どうか、よろしくお願いいたしますm_ _m

    • ベストアンサー
    • Perl
  • 500 Internal Server Error

    500 Internal Server Errorが出ます。 サーバ:CentOS6.4 サーバ側の文字コード:UTF-8 perlのパス:/usr/bin/perl index.cgiの文字コード:LF (サーバ上で直接作成) index.cgiのパーミッション:777 (パーミッションの問題を避けるためわざと、777に設定) ここで、サーバ上で直接実行 perl /var/www/html/index.cgi すると、正しく処理の結果が返ってきてエラーは出ません。 しかし、クライアントのブラウザでindex.cgiにアクセスすると、500 Internal Server Errorが出ます。 なお、index.cgiを設置するディレクトリはApacheで以下のように設定しcgiスクリプトを有効にしています。 <Directory “/var/www/html”> Options FollowSymLinks ExecCGI </Directory> AddHandler cgi-script .cgi .pl #AddDefaultCharset UTF-8 ******************************************************* 【/var/www/html/index.cgi】 #!/usr/bin/perl print "Content-type: text/html"; print "<html>"; print "<body>"; print "<p>"; print "CGI"; print "</p>"; print "</body>"; print "</html>"; スクリプトの文法に問題があれば、サーバ上で直接実行させた時点でエラーを吐きそうですし、 パーミッションは777にしていますし、Apacheの設定もcgiを有効にしているので 他に500 Internal Server Errorが出る原因が掴めません。 Apacheの設定で、#AddDefaultCharset UTF-8 として文字セットを無効にした場合は CGIスクリプトの方で何か追加してやらないと、文字化け以前の問題で必ず500 Internal Server Errorを吐くんですかね? ご指導のほどよろしくお願い致します。

    • ベストアンサー
    • CGI
  • ParaFla ActionScript でcgiデータ送受信したい

    ParaFlaのActionSciptでcgiデータ送受信したいです。 http://www.1art.jp/flash2/chapter/49/49.htm 上記を参考にLoadVars.sendAndLoad()メソッドの使用を試みたのですが、 var send_lv: LoadVars = new LoadVars(); 上記の記述で構文エラーになってしまいます。ParaFlaでは:(コロン)が通用しないのでしょうか。 ParaFlaのActionSciptからcgiを呼び出す(http通信)するにはどうしたらよいでしょうか?

    • ベストアンサー
    • Flash
  • swf(Flash)からcgiへのデータの送信について

    ショッピングサイトを制作しており、「ショッピングカートを見る」というボタンにFlashを使っています。 HTMLで送信する場合のボタンの記述は下記のようになっています。 <form action="http://www.●●●.com/shopingcart.cgi" method="POST"> <input type="hidden" name="mode" value="view"> <input type="submit" value="カートを見る"> </form> 色々調べて、下記のようにflashのボタンに記述したところ、ローカルのムービープレビューでは 問題なくカートの中が見れたのですが、サーバーにアップして試したところ、「直接CGIは起動 できません」という、CGIのエラーが返ってきてしまいました。 on (release) { var formData: LoadVars = new LoadVars(); formData.type="view"; formData.send("http://www.●●●.com/shopingcart.cgi?mode=view", "_blank", "POST"); } よく分かっていない為行き詰まっています。 よろしければご教授下さいますよう、お願い致します。

    • ベストアンサー
    • Flash
  • FlashからFlashへのPOST送信での変数受け取り方法

    Flash MXを使用している初心者です。 a.htmlに貼り付けたa.swfのボタンから b.htmlに貼り付けたb.swfの中に 変数を渡したいと思っています。 ◆GET送信では、a.swfのボタンに  on (release) { System.useCodepage = true; var my_lv = new LoadVars(); my_lv.sws = name1_txt.text; my_lv.send("b.html", "_top", "GET"); } と書き込み、 b.html部分には 以下のJavaScriptを書き込みました。 <script type="text/javascript"> var mydata = location.href.split("?")[1]; document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="400">'); document.write('<param name="movie" value="b.swf" />'); document.write('<param name="FlashVars" value="'+mydata+'" />'); document.write('<embed src="b.swf" FlashVars="'+mydata+'" width="550" height="400" type="application/x-shockwave-flash" />'); document.write('</object>'); </script> 以上の方法でGET送信のswf受け取りは成功したのですが、 POST送信のswf受け取り方法がわかりません。 POST送信までは、成功しているようなんですが、 その変数をswfに表示するには、どうすればいいでしょうか・・・? また、ローカルで確認可能でしょうか・・・? PHPやcgiがわからないので、 それらを使わない方法で、ご教授いただきたく、 よろしくお願いいたします。。

    • ベストアンサー
    • Flash
  • CGIからCGIを、CGI環境変数付きで実行するには?

    CGI(Perl)からCGI(Perl)を実行してその出力を得るには どうしたら良いでしょうか。 そのCGIがもっている環境変数(IPアドレスとか、POSTデータ)も 渡したいのですが・・・。 Openでパイプを使ってやればいいとまではわかり、 環境変数などを渡さないで純粋にCGIを実行させて その出力を受け取るところまでは出来ました。

    • ベストアンサー
    • Perl
  • サーバにデータを送る時の変数名はわかるの?

    FLASH初心者です。 ゲームのハイスコアのランキングを作成しています。 ゲーム終了後に、FLASHからサーバ上に LoadVars の POST でスコアと名前を送って、PHP で保存する、というところまではできました。 この時、ユーザーは、サーバ上のPHPのファイル名や送信時の変数名を知ることができるのでしょうか? もしできるならいたずらなどの対策が必要かと思った次第です。 以上よろしくお願いします。

    • ベストアンサー
    • Flash
  • perlのcgiで、変数の中身を表示させたい

    cgiで変数の中身を表示させたい perlのcgiで変数の中身を表示させたいのですが、うまくいきません ▽環境   レンタルサーバ ▽やりたいこと   通常のブラウザ画面に、変数の中身を表示させたい ▽現状   use Data::Dumper;   print Dumper($hoge));もしくは、warn Dumper $hoge;   とすると、下記エラーとなります Script Error The script did not produce proper HTTP headers. Please see the error log to see the detail of the errors. Depending on the server configuration, you can also run thisscript under CGIWrap debugging. Usually, either rename or linkthe script temporarily to a file which ends with .cgidextension, or add a AddHandler cgi-script-debug .cgiline to your .htaccess file. 指示に従い、.htaccessへ、AddHandler cgi-script-debug .cgiを追記すると、ズラズラ出てきたと何か出てきた中の一行に、変数の中身が表示されます ■質問事項   ▼変数の中身を確認する際、いちいち.htaccessへ追記するのが面倒なのですが、どうやって回避するのでしょうか?   ▼なぜ、変数の中身を確認しようとしただけで、Script Errorとなるのでしょうか?   ・書き方を間違えている?   ・書く場所を間違えている?   ・レンタルサーバの仕様?   ・perlのcgiだから? イメージしてるのは、PHPのvar_dumpなのですが…

    • ベストアンサー
    • Perl