メイン コーダーズルーム【スクリプト系】 LoadVars.load(CGIFile)でcountdataが読み込めない | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
kanakana | Åê¹ÆNo.2820 投稿日時: 2004-1-11 18:32 |
半人前 居住地: 宝塚 投稿: 51
使用環境:
(SP2) pro7.2 :Flash8 pro |
LoadVars.load(CGIFile)でcountdataが読み込めない kanaです。
このフォーラムになって初めて登校します。 登校じゃなく(^_^;投稿(勉強しに来てるので同じかな) CGIを使ってアクセスカウンターを作っています。 CGIそのものは動いているのを確認したのですが そのデータをフラッシュで受けることができません。 _rootにダイナミックテキスト 変数dispcountを配置し フレームに System.useCodepage = true; CGIFile = "sizecount.cgi"; myLoadVars = new LoadVars(); myLoadVars.onLoad = function(success) { dispcount = myLoadVars.countdata; if (success) { trace("ok"); trace(countdata); } else { trace("失敗!"); } }; myLoadVars.load(CGIFile); と書きました。 結果 ok undefined となりました。 mL-LOGでも探してみましたが分かりませんでした。 ターゲットパスかなと思ってあちこちに_rootをつけてみたのですが結果は同じ…。 ヒントでも教えて頂けると嬉しいです。 よろしくお願いいたします。 MX&XPです。 |
kazuya honda | Åê¹ÆNo.2821 投稿日時: 2004-1-11 21:16 |
新米 居住地: 神奈川 投稿: 4
使用環境:
Pro XPPro[SP1] |
Re: LoadVars.load(CGIFile)でcountdataが読み込めない 引用:
dispcount = this.countdata; 恐らくCGIにアクセス出来ている様なら 上記の変更で変数が見えると思いますよ。
|
野中文雄 | Åê¹ÆNo.2827 投稿日時: 2004-1-12 5:37 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: LoadVars.load(CGIFile)でcountdataが読み込めない _rootに配置したTextFieldの変数dispcountには、データの表示がされているのでしょうか? 表示されていなければ、変数名やターゲットパスの誤り、変数名とインスタンス名との混同などが考えられます。
trace()アクションの出力のみの問題でしたら、LoadVars.onLoadイベントハンドラメソッドに定義したfunction(コールバック関数)内の参照を理解する必要があります。 コールバック関数内のデフォルト(ターゲットパス省略時の)参照は、スクリプトを記述したタイムラインです。コールバック関数を定義したLoadVarsインスタンスを参照する場合には、thisまたはインスタンスのパスをターゲットに指定する必要があります。 引用: kanakanaさんは書きました: ただ、TextFieldに変数名をつけたのでしたら、配置したタイムライン(_root)をターゲットとしてMovieClip.loadVariables()メソッドを使う方が処理は簡単です。外部テキストファイル内の変数名とTextFieldの変数名を揃えれば、読込み待ちの必要がないからです。 MXスタイルのスクリプティングを実践したい場合は、TextFieldにはインスタンス名をつけます。そうすると、TextFieldオブジェクトのプロパティ・メソッドを使用したコントロールが可能になります。その場合には、LoadVarsオブジェクトを使って外部テキストの読込みを行い、TextField.textプロパティにテキストを設定します。たとえば、TextFieldインスタンスにmy_txtというインスタンス名をつけたとすれば、つぎのとおりです。
なお、TextFieldにインスタンス名と変数名を併用するのは、混乱の元になるので避ける(他方は削除する)ことをお勧めします。 |
kanakana | Åê¹ÆNo.2860 投稿日時: 2004-1-13 23:42 |
半人前 居住地: 宝塚 投稿: 51
使用環境:
(SP2) pro7.2 :Flash8 pro |
Re: LoadVars.load(CGIFile)でcountdataが読み込めない kanaです。
kazuyaさん Fumioさん ありがとうございます Fumioさんは書きました: _rootに配置したTextFieldの変数dispcountには、データの表示がされているのでしょうか? 表示されていなければ、変数名やターゲットパスの誤り、変数名とインスタンス名との混同などが考えられます。 データの表示はされていません。 変数名を削除しインスタンス名my_txtでやってみました。 後CGIの場所をURLで書きました。 System.useCodepage = true; CGIFile = "http://…infoseek.jp/cgi-bin/counter/sizecount.cgi"; myLoadVars = new LoadVars(); myLoadVars.onLoad = function(success) { my_txt.text = this.countdata; }; myLoadVars.load(CGIFile); cgiのURLを直接打ち込んだら表示はちゃんとできます。 ???がどんどん生まれてくる(^_^; |
野中文雄 | Åê¹ÆNo.2861 投稿日時: 2004-1-14 0:09 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: LoadVars.load(CGIFile)でcountdataが読み込めない データの表示がされていないのでしたら、高い確率でターゲットパスが間違っています。問題のスクリプトの先頭につぎのステートメントを記述しても、TextFieldインスタンスmy_txtにテキストは表示されないのではないでしょうか? まず、この点を解決する必要があります。
引用: kanakanaさんは書きました: つぎに、スクリプトの処理経過をtrace()アクションで確認しましょう。これにより、どこで問題が発生しているかの手がかりが得られます。
|
kanakana | Åê¹ÆNo.2862 投稿日時: 2004-1-14 0:30 |
半人前 居住地: 宝塚 投稿: 51
使用環境:
(SP2) pro7.2 :Flash8 pro |
Re: LoadVars.load(CGIFile)でcountdataが読み込めない kanaです
Fumioさんは書きました: データの表示がされていないのでしたら、高い確率でターゲットパスが間違っています。問題のスクリプトの先頭につぎのステートメントを記述しても、TextFieldインスタンスmy_txtにテキストは表示されないのではないでしょうか? まず、この点を解決する必要があります。 my_txt.text = "test"; これを記述すると「tset」と表示しました。 と言うことは… ターゲットパスは間違ってない?と言うことですよね。 // このスクリプトはどのタイムラインに記述していますか? // フレームアクション //kana_rootのフレームに記述しています。 System.useCodepage = true; CGIFile = "http://…infoseek.jp/cgi-bin/counter/sizecount.cgi"; myLoadVars = new LoadVars(); myLoadVars.onLoad = function(success) { trace(success); // 読込みが成功しているかどうか trace(this.countdata); // 変数値が取得できているかどうか // TextFieldインスタンスmy_txtはどこに配置していますか? //kana_rootに配置しています。 my_txt.text = this.countdata; }; myLoadVars.load(CGIFile); 結果は true undefined となりました。 うーーんいったい?(^_^; |
野中文雄 | Åê¹ÆNo.2863 投稿日時: 2004-1-14 1:28 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: LoadVars.load(CGIFile)でcountdataが読み込めない CGIとの通信は行われ、とくにエラーも発生していないようですね。問題は、取得したい変数countdataが、存在しないと認識されていることです。LoadVrasオブジェクトのデータを、すべてfor..inアクションで出力してみることにしましょう。
#kana_rootというのがファイルkanaの_rootなのか、あるいはkana_root #というMovieClipインスタンスなのかわかりませんが、ターゲットパスは #合っているようなので、気にしないことにしましょう。
引用: 結果は 今度は、少なくともつぎのように出力されるはずです。出力のなかにcountdataという変数名がなければ、CGIからその名前の変数は返されていません。 true countdata,<取得したいデータ> // ほかにもあるかも onLoad,[type Function] |
hide_tk | Åê¹ÆNo.2865 投稿日時: 2004-1-14 2:37 |
新米 居住地: 投稿: 10
使用環境:
MX XP |
Re: LoadVars.load(CGIFile)でcountdataが読み込めない 以前に似たような事があったので。
一度successをハズして 以下のようなシンプルな必要最低限のコードで 試してみてください。
原因は解りませんが、どうもloadされていなくても successをみてonLoad関数が動き出すことがあったので。 どのみちCGIが手元にないので断定はできませんが・・・ |
kanakana | Åê¹ÆNo.2880 投稿日時: 2004-1-14 23:02 |
半人前 居住地: 宝塚 投稿: 51
使用環境:
(SP2) pro7.2 :Flash8 pro |
Re: LoadVars.load(CGIFile)でcountdataが読み込めない kanaです。
Fumioさんありがとうございます。 引用:
やってみました。次のような結果となりました。 true SID,006" TARGET="_top"><IMG SRC="http://www.infoseek.co.jp/images/isj00/ad/ae19229/20040115_axiv_iswebtext.gif" WIDTH="212" HEIGHT="22" BORDER="0"></A></TD> </TR> </TABLE> <!-- inserted by isweb server/* --> countdata=12364 <!-- isweb auto-insert 9.0f-11-64 */ --> <DIV ALIGN="CENTER" STYLE="display:block"> <!-- START_AD_Banner --> <a href="http://www.infoseek.co.jp/redirect?sv=FH BID,004 amp;svx,280900" TARGET="_top"><IMG SRC="http://www.infoseek.co.jp/images/isj00/community/isweb/logo_is.gif" WIDTH="60" HEIGHT="22" BORDER="0"></A></TD> <TD WIDTH="159"> <INPUT NAME="qt" TYPE="text" SIZE="27" VALUE="" STYLE="FONT-SIZE:11px!IMPORTANT"> <INPUT TYPE="hidden" NAME="lk" VALUE="noframes"> <INPUT TYPE="hidden" NAME="svx" VALUE="280500"></TD> <TD WIDTH="37"><INPUT CLASS="isweb" TYPE="image" SRC="http://www.infoseek.co.jp/images/isj00/community/isweb/b_submit3.gif" WIDTH="37" HEIGHT="22" HSPACE="4" BORDER="0" NAME="SUBMIT" ALT="Infoseek Search"></TD> <TD WIDTH="212"></FORM><A HREF="http://www.infoseek.co.jp/redirect?ak=axiv-4001-1001-ZP202 D2,1.160.654.1017.356490" target="_top"><img border="0" width="468" height="60" src="http://www.infoseek.co.jp/images/ads/rakt1210.gif" alt=""></a><br><!-- END_AD_Banner --> </DIV> <!-- inserted by isweb server /* --> rd,http://rd.rakuten.co.jp/cow/?R2=http://ticket.rakuten.co.jp/4010911620-i.html ak,rakt-2019-1210-H1092 tid, lk, <!-- isweb auto-insert */ --> <TABLE WIDTH,"468" BORDER="0" CELLSPACING="0" CELLPADDING="0" ALIGN="CENTER"> <TR><TD CLASS="isweb"> <!-- START_AD_Banner --> <a href="http://www.infoseek.co.jp/redirect?sv=FH onLoad,[type Function] undefined データはちゃんと帰ってきているようですが… (^_^; |
野中文雄 | Åê¹ÆNo.2881 投稿日時: 2004-1-14 23:30 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: LoadVars.load(CGIFile)でcountdataが読み込めない 「ちゃんと」は返ってきていないです。
データはHTMLで返されているようですね。Flashが読込む外部テキストファイルの内容は、「変数=値」の形式でないといけません。 引用: kanakanaさんは書きました: CGIからFlashが読込める形式でデータを返してもらうか、返されたテキストから必要な部分を取出すスクリプトを作成するしかないでしょう。 |
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |