• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:flashからCGIへデータ送信)

FlashからCGIへのデータ送信について

このQ&Aのポイント
  • FlashからCGIへデータを送信する際、getURLを使っているとCGIページが開いてしまう問題があります。データを送信するだけでCGIページを開かずに送信する方法はありますか?
  • getURLを使用している場合、Flash上で定義した変数が一括で送信される一方、別の方法では変数を個別に定義する必要があります。この方法に変更すると、以前動作していたCGIが動かなくなる問題が発生しました。
  • 変数が一括送信されるgetURLのような方法を使用することができれば、助かります。FlashからCGIへデータを送信する方法について、アドバイスをお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

まず書かれていらっしゃるページの内容ですが, そのページの通りのことをしても 結局 「CGIページが開いてしまう」 という事態は回避できません。 LoadVars.send メソッド は getURL と同じく 新しいページを開くときに値を送信するメソッドです。 また LoadVars.load メソッド は 単にデータ(ファイル)をロードするだけです。 「データさえ送信できれば、CGIページは開かなくていい」 という場合は,LoadVars.send メソッドではなく LoadVars.send メソッド を使います。 書かれていらっしゃるページと同じサイトで言うなら こちら↓のページです。 「loadVars.sendAndLoad()メソッド。データ送受信」 http://1art.jp/flash2/chapter/49/49.htm ダミーの「ロード用 LoadVars インスタンス」でも用意して 結局 その 「ロード用 LoadVars インスタンス」 ロード時に何もさせなければ 単に 「送信するだけ」 のものができます。 > このやり方だとこのように > my_lv.name1 = name1_txt.text; > として、my_lv.○○と > いちいち変数を定義し直さなければならないのかな? 書き方はどうであれ(ループ文などで短くすることはできますが),する内容はその通りです。 基本的に  LoadVars.変数A=値A;  LoadVars.変数B=値B;  LoadVars.変数C=値C;    …        … のように 送信するデータを指定します(指定できます)。 上に (指定できます) とカッコ付きで書いていますが, 本当はカッコではなくて,こちらがメリットなんです。 getURL だと そのタイムラインにある変数が全て送信されてしまうでしょう? つまり CGI などに送信する変数の大半は ゴミ になることもあり得るのです。 (というか普通に作っているとゴミだらけになる。) getURL でゴミを送信しないようにするためには getURL 設定用の ムービークリップ をわざわざ作成して,  そのムービークリップ.gerURL(○○); のようなことをしなければならないのです。 ※この場合↑の gerURL は   MovieClip クラス の getURL メソッドです。 LoadVars が誕生するまでは みなさんそうしていたのですがこれって変でしょう? データを送信するために なんで関係のない ムービークリップ を作成しなければならないのでしょうか? そこが変なのと機能が少ないのとでLoadVars が誕生したのです。

etrapod
質問者

お礼

詳しいご説明ありがとうございます! なるほど、ゴミが出ないということを考えれば、 たしかにLoadVarsで作った方がきれいだし きちんとしたプログラムになりますよね>< 教えて頂いたページの方でやってみます!

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

関連するQ&A

  • 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
  • FLASHからCGIへデータ送信(HIDDENのような)

    FLASHからcgiへデータを送信したいのですが、テキストボックスを使ってデータを入力するのではなく、ボタンにあらかじめデータをあてはめておきたいのです。 HTMLでいう「HIDDEN」のようなものです。 そういう場合はどのようにアクションスクリプトを表記すればいいのでしょうか? FLASH5です。

  • FLASHとCGIでスコアランキング作成

    何度か質問させて頂いてます><; すみませんが今回もよろしくお願いします! 現在 なんとか自宅サーバでCGIが動くようになり、 自作のswfファイルからCGIへ、入力した名前とスコアがデータとして送信され、 そのままCGIページでその2つが表示されるようになっています 次の段階としては、 (1)CGIへ送信されたデータを、テキストファイルに保存。(スコアランキング用の保存場所なので、上書きではなく追記?でどんどん格納していきたいです) (2)テキストファイル内のデータを、ランキングなので降順にソートして、swfファイルで表示 この2つをやりたいです。 まず(1)は、 http://1art.jp/flash/le/lesson44/lesson44.htm こちらを参考にさせていただき、テキストファイルに保存するところまでは理解できたのですが、 データを区切って、文字がくっつかないように追記するやり方がわかりません・・・。 また、これはHTMLからCGIにデータを送信しているので、SWFからCGIに送りたい場合は やり方が違うのでしょうか。 (2)は この降順ソートをCGI側でやるべきなのかFLASH側でやるべきなのかがよくわかりません。 それともどちらでもいいのでしょうか? というか(2)は多分(1)を理解して作ってからじゃないとできないと思いますが・・・; とりあえず今はこんなところです・・・よろしければご助言お願いいたします!

    • ベストアンサー
    • CGI
  • 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
  • getURLでcgiへ変数を渡す時、&が使えない

    質問させてください ボタンを押すとhttp://www.***.com/*.cgiにa=1&b=2という変数を渡したいんですが、 getURL("http://www.***.com/*.cgi?a=1&b=2","_blank"); ではうまくいきません。 ブラウザのアドレス欄を見ると、&以降のアドレスが消えてしまっています。 「&」はどう扱えばいいんでしょうか?? あとgetURL("http://www.***.com/*.cgi?a=1&b=2","_blank","GET"); とすると フラッシュ内で使っている他の変数も送信してしまいます(>< http://www.***.com/*.cgi?a=1&b=2&c=3&d=4 のように… ちなみに ブラウザでhttp://www.***.com/*.cgi?a=1&b=2と直接入力するとうまくいきます。 どなたかよろしくおねがいします!

  • Flashのメールフォームにcgiを設置 別ウインドウで・・・

    いつもお世話になります。 FlashMX使用のものです。 FlashできたメールフォームにKENT.WEBの「postmail」を設置しています。 設置する事はなんとかできたのですが、送信ボタンを押すとメール内容確認画面~送信完了のページが別ウインドウで開けるようにしたいのです。 現在のactionは on (press) { getURL("./postmail.cgi","_top","POST"); } となっています。 javascriptを使い別ウインドウを出すために上記を on (press) { getURL("javascript:window.open('./postmail.cgi','_top','POST');void(0)"); } に変更したのですが、ボタンを押すと「不明な処理」となってしまいます。 flashのみでできたhpなので「前画面に戻る」を押すとflashが最初まで戻ってしまい非常に面倒なので、どなたか解かる方いましたら宜しくお願いします。

    • ベストアンサー
    • Flash
  • Combobox(コンボボックス)でデータを送るには?

    よろしくお願い致します。 Flash CS4を使用しています。 Comboboxで個数を選択して、「送信」というボタンをクリックしたときに選択した個数のデータをCGIに送りたいと思っています。 Comboboxのコンポーネントインスペクタのdata・labelsは、ともに1、2、3という数字を設定しています。 例えばhtmlでプルダウンを作成するときは以下のように作成するかと思いますが、FlashのComboboxの場合はnameの値(数量)はどこで設定するのでしょうか? --- htmlでプルダウン作成する場合 <select name="数量" /> <option value="1">1</option> </select> --- また、選択された値を変数にして「送信」ボタンをクリックしたときに送るのだと思うのですが、その場合のスクリプトはどのように書けばよいのでしょうか? 「送信」ボタンは以下のスクリプトを書いています。 on(release) { getURL("●●.cgi?mode=regist&name=●●", "_self"); } 分かりづらい説明で申し訳ありません。 補足説明致しますので、どうぞよろしくお願い致します。

    • ベストアンサー
    • 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からCGIを介して書き込んだことの確認

    ActionScript 3.0を使ってCGIへデータを送信しサーバーへデータを書き込むことまでは成功しました。しかし、この処理の後にFlashで書き込んだデータを利用するので、きちんと書き込めてるか確認してから次の処理へと移りたいのですが、どの様にして確認すればいいのでしょうか? 当方の環境としては、AS3にてPerlのCGIにデータを送信しています。 どうぞよろしくお願いします。

  • ムービークリップで作成したボタンでCGIを表示させたいのですが・・・

    お世話になっております。 FLASH MX , WIN XP を使用しています。 FLASHで作られたお問い合わせフォームを編集しています。 ムービークリップインスタンスでできた「送信ボタン」にgetURLで KENTWEBのCGI「postmail」を読み込んで、メールを送信できるように したいと考えています。 ボタンインスタンスにCGIを読み込んだ時は、正常に変数を読み込み 入力内容をメール送信できるのですが、ムービークリップ インスタンスにCGIを読み込むと、変数を読み込めず「不正な処理」 となりエラーになってしまいます。 ムービークリップインスタンスでできたボタンでcgiを読み込む事は できないのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • Flash
このQ&Aのポイント
  • Win11自作デスクトップPCにグラボを接続すると、ブラックアウトやディスプレイの乱れが生じました。
  • ATX電源の経年劣化が原因かもしれませんが、代理店からの返答がないため特定はできません。
  • そこで、CPU内蔵GPUを使用することで問題を解決し、グラボなしで使用し続けることができます。
回答を見る

専門家に質問してみよう