我正试图从for循环中获取多个变量。网址如下所示:
total=2&id1=2&content1=I+am+the+first+blog&id2=4&content2=I+am+the+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);
}
这行代码不起作用。我尝试过各种各样的方式:
var id = this.evt.target.data+i;
var id = ["this.evt.target.data"+i]; //traces var id as text only, not the result id1
var id = this.evt.target.data.i;
var id = this.evt.target.data[i];
var id = this.evt.target.data+i;
这样不可能吗?或者我错过了什么?
答案 0 :(得分:1)
非常猜测你想要做什么,我相信这就是你的尝试:
// ...
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 ] );
}
}
答案 1 :(得分:0)
这是我的代码:
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);
}
答案 2 :(得分:0)
它有效!!
@Poke谢谢你的回答!!你已经指出了正确的方向!var content = evt.target.data['content' + i];
现在我要打自己,因为我之前没有看到这个:)