メイン コーダーズルーム【スクリプト系】 MX2004でHTTPステータスコードを取得するには? | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
joy-go | Åê¹ÆNo.28718 投稿日時: 2006-9-14 13:20 |
新米 居住地: 投稿: 2
使用環境:
WinXP,Flash MX 2004 |
MX2004でHTTPステータスコードを取得するには? 初めまして。joy-goと申します。
趣味でFLASHの勉強をしておりまして、 いつもこのサイトを見て参考にさせていただいています。 現在、表題の件で妙案はないものかと試行錯誤しています。 XMLクラスやLoadVarsクラスを用いた際に、サーバーからHTTPヘッダーに吐き出されているエラーコードを取得するにはどうしたらよいものかと。 FLASH8では、onHTTPStatus()ハンドラが実装されているようですが、MX2004にはありません。 なので現在は、サーバー側でエラーが発生した際には、
といった感じでサーバー側からエラー用のXMLを吐き出すようにして、 FLASH側では、
としてエラー判定すると同時に setInterval()メソッドを用いて、 一定時間経過しても、onLoad()メソッドが呼び出されない場合、 タイムアウトの判定を出すようにしています。 ですが、これはあまりスマートな方法とは思えません。 FLASH8のonHTTPStatus()ハンドラ的に HTTPのステータスコードをFLASH側で取得するにはどのようにすればよいのでしょうか? MX2004で行うことは不可能なのでしょうか? どなたかお分かりの方がいらっしゃいましたら、ご教示願います。 使用環境はFLASH MX2004 & WinXPです。 |
Fla4man | Åê¹ÆNo.28723 投稿日時: 2006-9-14 20:38 |
職人 居住地: かまくら 投稿: 517
使用環境:
WinMe,Win2000, Flash4,アズさん,大仏、delphi |
Re: MX2004でHTTPステータスコードを取得するには? onHTTPStatusは確実に動くわけではないそうです。(アドビのヘルプにfirefox1.5で動かないというコメントあり)
従って現在やられている方法のほうがよいと思います。 appache系ならばエラーコードの生成は.htaccessで設定するのが楽です。 エラーコードはもっと処理しやすい値にするとよいと思います。 一般ユーザーは単にエラーどうかだけチェックするので xml.onLoad = function( bool:Boolean ) のboolだけでするケースが多いと思われます。 しかし大抵はエラーページのないものです。 404コードでちゃんとしたエラーページを返した場合 今回の書きこみ内容からすると boolはfalseにならず通ってしまっているようです。 私はためしていないのですがそうなんでしょうか? とするとやはり今回の手法に準じた方法がよいということになります。 その場合case文でフラットに処理するのではなくて データ取得成功をまず切り分けて その他のエラー郡の中で条件分岐をするほうが好ましいのでしないでしょうか?
|
joy-go | Åê¹ÆNo.28728 投稿日時: 2006-9-14 23:26 |
新米 居住地: 投稿: 2
使用環境:
WinXP,Flash MX 2004 |
Re: MX2004でHTTPステータスコードを取得するには? 早速のご回答ありがとうございます。
onHTTPStatusも完璧に機能するわけではないのですね。 でも、ブラウザによって機能しないということは、onHTTPStatusは、HTTPヘッダーのステータスコードを見ているわけではないということなんでしょうかね。 onHTTPStatusがどのような仕組みになっているのかが、今ひとつ分かりません。 引用: 一般ユーザーは単にエラーどうかだけチェックするので 確かに、厳密にステータスコードを判定する必要性のあるケースはほとんどないと思うのですが、 FLASH8でできるなら、MX2004も同じAS2.0なので、何かしらの方法があるのでは?と思ったのですが、どのようにすればよいのか見当もつかなかったので。 引用:
ごめんなさい、これ間違いです・・・ 404の場合、boolはfalseになるので、 この条件分岐の404のところは通らないです。 結局、FLASH側だけの設定で厳密にステータスコードを判定する方法はないってことになるんでしょうか? |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |