http://61.197.170.205/~tobacco/htdocs/test.php
があり。戻り値があります。
javascriptに
var req_argument = null;
function File_Request(data, fileName){
//XMLHttpRequestオブジェクト(ブラウザー対策できてるものとして)
var http_obj = new XMLHttpRequest();
http_obj.open("POST", fileName);
http_obj.onreadystatechange = function(){
if(http_obj.readyState == 4){
req_argument = http_obj.responseText;
}
}
http_obj.setRequestHeader('Content-Type','text/plain;charset=UTF-8');
http_obj.send(data);
}
function flash_kick(argument) {
File_Request(argument, "http://61.197.170.205/~tobacco/htdocs/test.php");
return req_argument;
}
を設置したページを用意し、さらにactionscript上に以下と「bt_test」ボタン・「kakunin_text_box」のあるflashを配置しました。
import flash.external.*;
bt_test.addEventListener(MouseEvent.MOUSE_UP, test_action);
function test_action(e){
var argument:String = "渡したい引数";
var s:String = String(ExternalInterface.call("flash_kick", argument));
kakunin_text_box.text = s;
};
うまくいかず、http_obj.readyState == 4を待ってくれないのでnullが戻ってきます。
どのような処理をするとスムーズにphpの返り値をflashへ受け渡せるのか、ご教授いただけると嬉しいです。
質問用書き換え時に文法エラーあったらごめんなさい。
No.1ベストアンサー
- 回答日時:
ActionScriptはあまりくわしくないのですが、
このままだと、確実にうまくいきませんね。
function flash_kick(argument) {
File_Request(argument, "http://61.197.170.205/~tobacco/htdocs/test.php");
return req_argument;
}
のreturn req_argument;は同期して実行されませんよね、
同期するためには、onreadystatechange のfunction内で、
フラッシュにデータを渡す必用があります。
ExternalInterfaceクラスのaddCallbackメソッドが使えるんじゃ
ないでしょうか?
import flash.external.*;
ExternalInterface.addCallback("setMessage", this, showMessage);
function showMessage(message) {
kakunin_text_box.text = String(message);
}
を別に書いておいて、
http_obj.onreadystatechange = function(){
if(http_obj.readyState == 4){
document["fromJavaScript"].setMessage( http_obj.responseText);
}
}
document["fromJavaScript"]は
Flashムービーにアクセスするための名前を付けるには,Flashムービーを表示する際の二つのタグである「objectタグ」と「embedタグ」の,それぞれid属性,name属性の値だそうです?
参考URL:http://itpro.nikkeibp.co.jp/article/COLUMN/20070 …
addCallbackの事大変感謝です。ご回答いただいてから格闘していて、まだ実働できていない状態だったりします。
ただ、同時に友人からActionScript「new URLRequest」で直接PHPへアクセスする手段を教わり、この方法に今傾きつつ有る感じです。
addCallbackは知らなかっただけに大変参考になり、今後利用するチャンスもありそうで、とても助かりました。
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- C言語・C++・C# leetcode 155 minstack 1 2022/05/07 16:43
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイル 特定ウインドウ...
-
PDFを(htmlのように)無限に縦...
-
php の画面ボダンを押すと、サ...
-
以下のURL入れますか?皆さんは↓
-
画像のドットの部分が抜けてい...
-
Chinapost こよパズルどう動か...
-
非同期通信で掲示板を作る際の...
-
非同期通信を使うタイミングが...
-
PYTHONのtkinterについて
-
Pythonのtkinterについて
-
Pythonを勉強する道のり
-
Pythonを無料(安価)で学ぶ方...
-
RPA(PowerAutomate)の実装について
-
ワードでA3横の画面にして、文...
-
入力フォームの値をQRコードで...
-
課題なのですがどなたかコード...
-
自作の地図をグーグルマップの...
-
Pythonのjupiter Labを使ってます
-
Pythonのプログラム初心者の問題
-
1w=1j.s
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JavascriptからPHPへのAjax通信...
-
AjaxでJSONを受信すると、文字...
-
jQuery を外部ファイルから呼び...
-
jQueryを使いformでsubmitした...
-
jQueryのblockUIをformのボタン...
-
ajaxからphpにpsotしたときの日...
-
jQueryで外部テキストファイル...
-
jQuery3 reset()が効かない。
-
jQuery,Ajaxでcgiに接続する方...
-
JSONをperlで受け取る方法
-
flash javascript php の引数受...
-
Perl JavaScript Ajax リアルタ...
-
グーグルマップの吹き出しから...
-
Ajax・jQueryでGET時にIE...
-
twitter @anywhereのtweetboxか...
-
ページを遷移せずにデータ送信
-
ajaxでPHPにPOST送信して結果デ...
-
IE8で動かないJQuery
-
AJAXでプルダウン連動(SJIS環境)
-
IE8 form action属性をはずす...
おすすめ情報