Actionscript 3 i++;不适用于AS3中的var?
我正在尝试从for循环中获取多个变量。url如下所示:Actionscript 3 i++;不适用于AS3中的var?,actionscript-3,var,Actionscript 3,Var,我正在尝试从for循环中获取多个变量。url如下所示: total=2&id1=2&content1=I+am+first+blog&id2=4&content2=I+am+second+blog for (var i:Number=i; i<=total;i++){ trace(i); var id = this.evt.target.data+i; var content = evt.target.data.content; trace ('id from DB
total=2&id1=2&content1=I+am+first+blog&id2=4&content2=I+am+second+blog
for (var i:Number=i; i<=total;i++){
trace(i);
var id = this.evt.target.data+i;
var content = evt.target.data.content;
trace ('id from DB: ' + id);
trace ('content from DB: ' + content);
}
这样不可能吗?还是我遗漏了什么?我对你想做的事情充满了猜测,我相信这就是你想做的:
// ...
private var loader:URLLoader;
public function foo ( someUrl:String ):void
{
loader = new URLLoader();
loader.addEventListener( Event.COMPLETE, onComplete );
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.load( new URLRequest( someUrl ) );
}
private function onComplete ( event:Event )
{
var total:int = int( event.target.data.total );
for ( var i:int = 1; i <= total; i++ )
{
trace( event.target.data[ 'id' + i ] );
trace( event.target.data[ 'content' + i ] );
}
}
/。。。
私有变量加载器:URLLoader;
公共函数foo(someUrl:String):void
{
loader=新的URLLoader();
loader.addEventListener(Event.COMPLETE、onComplete);
loader.dataFormat=URLLoaderDataFormat.VARIABLES;
loader.load(新的URL请求(someUrl));
}
私有函数onComplete(事件:事件)
{
var总计:int=int(event.target.data.total);
对于(var i:int=1;i这是我的代码:
var request:URLRequest = new URLRequest("http://localhost:8888/lifestyle/get.php?type=blog");
request.method = URLRequestMethod.GET;
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, completeHandler);
loader.load(request);
function completeHandler(evt:Event) {
//var blancData = evt.target.data.blancData;
var total = evt.target.data.total;
var id = evt.target.data.id;
var content = evt.target.data.content;
for (var i:Number=1; i<=total;i++){
var id = evt.target.data.id;
var content = evt.target.data.content;
trace ('id uit DB: ' + id);
trace ('content uit DB: ' + content);
}
// trace ('totaal rijen in DB: ' + total);
//trace ('id uit DB: ' + id);
//trace ('content uit DB: ' + content);
}
var请求:URLRequest=新的URLRequest(“http://localhost:8888/lifestyle/get.php?type=blog");
request.method=URLRequestMethod.GET;
变量加载器:URLLoader=新的URLLoader();
loader.dataFormat=URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE,completeHandler);
加载(请求);
函数completeHandler(evt:Event){
//var blancData=evt.target.data.blancData;
var total=evt.target.data.total;
var id=evt.target.data.id;
var content=evt.target.data.content;
对于(变量i:Number=1;i它有效
@谢谢你的回答!!你给我指明了正确的方向
var content = evt.target.data['content' + i];
现在我要打自己一巴掌,因为我以前没看到过:)什么是evt
,evt.target
和evt.target.data
指的是什么?您是在尝试从URL读取FlashVar,还是在尝试读取数据,您是通过URLLoader打开的?我尝试了您的示例,更改了一些值,但它给出了相同的错误。如果我将var id=evt.target.data.id更改为var id=evt.target.data。id1;它确实有效,但当我将其更改为var I时,它就不起作用了。。
var content = evt.target.data['content' + i];