--.--.--
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


スポンサー広告 | CM(-) | ページリンク
2008.07.16
ASとCGI詳しい奴ちょっと来て
フラッシュでCGIにデータを渡して、CGIで処理したデータをそのまま貰う処理を作ってます。

test0 = 文字
data = CGIから貰うデータ

フラッシュ側

onClipEvent (mouseDown) {
  if (this.hitTest(_root._xmouse, _root._ymouse)) {
    var send_lv:LoadVars = new LoadVars();
    send_lv.test0 = _root.test0;
    var load_lv:LoadVars = new LoadVars();
    load_lv.onLoad = function(success) {
      _root.test2 = load_lv.data;
    };
    send_lv.sendAndLoad("test.cgi", load_lv, "POST");
  }
}

cgi側
#!/usr/local/bin/perl

#----- データの受け取り
if ($ENV{'REQUEST_METHOD'} eq "POST") {
  read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
}

if ($ENV{'REQUEST_METHOD'} eq "GET") {
  $buffer = $ENV{'QUERY_STRING'};
}

#----- データの分割
@getlist = split(/&/,$buffer);
foreach $eachdata (@getlist) {
  ($key,$value) = split(/=/,$eachdata);
  $value =~ tr/+/ /;
  $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
  $getdata{"$key"} = $value;
}

$data = $getdata{'test0'} * 2;

#----- データの出力
print"Content-type:text/plain\n\n";
print"data=$data";


こんな感じで記述して、100で送信。
しかし返事はどうしてもundefinedになってしまいます。

しかしcgiにアクセスするとdata=200と表示されるので処理はされてるらしい。

ちなみにFlashMX player7でパブリッシュしてます。

ちなみに試してるのはここ。
http://kulan.hp.infoseek.co.jp/cgi-bin/test/test.html

http://kulan.hp.infoseek.co.jp/cgi-bin/test/test.cgi

だれかわかる人います?
スポンサーサイト


日記 | CM(2) | ページリンク

★コメント

ローカル鯖で試してみました。ちゃんと200になりますね。多分、infoseekが邪魔してるのでは?
2008.07.17 | 名前 ユヅル | URL | EDIT
 コードにおかしなところはなさそうですねー。

 ブラウザからCGIにアクセスすると広告がくっついて表示されてしまいますが、onLoadで受け取った内容は正常ですか?
2008.07.17 | 名前 Seacolor | URL | EDIT

★コメント投稿








管理人にのみ表示



★ TRACKBACK URL


FC2blogユーザーはここをクリックでTBできます。

★ TRACKBACK

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。