如何将值从flash传递给php

时间:2011-05-30 06:19:10

标签: php flash

你好我是flash的新手。我想知道如何将值从Flash变量传递给php 我正在使用此代码

var myVars:LoadVars = new LoadVars(); 
myVars.playerName = "Some Body";
myVars.playerTime = Timer;

myVars.send("index.html", "_parent", "POST");`

显示错误 - >

  

警告:1060:迁移问题:不再支持LoadVars方法。有关更多信息,请参阅URLVariables类,URLRequest.urlVariables和URLRequest.postData属性以及URLLoader.dataFormat属性。

请指导我如何解决此错误。我使用CS4进行闪存和AS3.0

1 个答案:

答案 0 :(得分:1)

LoadVars()仅限AS2。您需要使用URLLoader。试试这堂课:

package
{
    import flash.net.URLRequest;
    import flash.net.URLLoader;
    import flash.net.URLVariables;
    import flash.net.URLRequestMethod;
    import flash.events.Event;

    /**
     * @author Marty Wallace
     * @version 1.00
     */
    public class PHPData extends Object
    {
        /**
         * Sends data to a PHP script
         * @param script A URL to the PHP script
         */
        public function send(script:String, vars:URLVariables):void
        {
            var req:URLRequest = new URLRequest(script);

            req.data = vars;
            req.method = URLRequestMethod.POST;

            var loader:URLLoader = new URLLoader();
            loader.load(req);

            // listeners
            loader.addEventListener(Event.COMPLETE, _complete);
        }

        /**
         * Called when a response has been received from a PHP script
         * @param e Event.COMPLETE
         */
        private function _complete(e:Event):void
        {
            var vars:URLVariables = new URLVariables(e.target.data);

            var i:String;
            for(i in vars)
            {
                trace(i + ": " + vars[i]);
            }

            e.target.removeEventListener(Event.COMPLETE, _complete);
        }
    }
}

然后你就可以做你正在做的事情:

var php:PHPData = new PHPData();
var vars:URLVariables = new URLVariables();

vars.playerName = "Some Body";
vars.playerTime = Timer;

php.send("index.php", vars);

我注意到的另一件事是你使用send将数据发送到 .html 文档而不是 .php 文档..


创建此类以使用的小型教程(基于注释):

  1. 点击文件 - >新 - > ActionScript文件。
  2. 将上述包(第一个代码块)粘贴到新文件中。
  3. 将文件保存在同一目录中作为.fla文件。
  4. 将我的第二段代码粘贴到.fla文件的时间轴中。
  5. 所有人都应该在这里工作。


    这是一个包含您可以使用的示例的.zip。

    http://junk.projectavian.com?f=phpdata.zip