你好我是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
答案 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 文档..
创建此类以使用的小型教程(基于注释):
所有人都应该在这里工作。
这是一个包含您可以使用的示例的.zip。