pull data in one function from two xml urls
Here is the code I'm working with (below) largely thanks to Fruitbeard. It's working just fine.
In the function CompleteHandler it calls a xml feed in the variable surl which is
http://" + dataCenter + ".api.mailchimp.com/1.2/?method=campaignClickStats&output=xml&apikey=" + apiKey + "&cid=" + allid;
I want to also call a secondary XML url which would be very similar:
http://" + dataCenter + ".api.mailchimp.com/1.2/?method=campaignStats&output=xml&apikey=" + apiKey + "&cid=" + allid;
Therefore function linkComplete pulls data from surl XML feed. I want this function to also output data from this secondary xml url above. I've tried many different ways of trying to do so but have had no luck.
code:
stop();
var dataCenter:String = "us2";
var apiKey:String = key;
var loader:URLLoader;
var requester:URLRequest;
var url:String;
var san:XML;
var nOfCamp:Number;
var nOfSt:Number;
var nOfU:Number;
var adingSt:Number;
var adingU:Number;
var ssum:Number;
var usum:Number;
var i:Number;
var allsub:String;
var allid:String;
var surl:String;
var linkLoader:URLLoader;
var linkTarget:URLRequest;
var linkImport:XML;
btn_camp.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler1);
function fl_MouseClickHandler1(event:MouseEvent):void
{
url = "http://" + dataCenter + ".api.mailchimp.com/1.2/?method=campaigns&output=xml&apikey=" + apiKey;
requester = new URLRequest(url);
loader = new URLLoader();
loader.addEventListener(IOErrorEvent.IO_ERROR,xmlE rror,false,0,true);
loader.addEventListener(Event.COMPLETE, completeHandler,false,0,true);
loader.load(requester);
}
// *** Initial xml load complete
function completeHandler(e:Event)
{
loader.removeEventListener(Event.COMPLETE, completeHandler);
loader.removeEventListener(IOErrorEvent.IO_ERROR,x mlError);
san = new XML(e.target.data);
nOfCamp = san.*.subject.length();
for (i = 0; i< nOfCamp; i++)
{
allsub = san.*.subject[i].text();
allid = san.*.id[i].text();
trace(allid);
surl = "http://" + dataCenter + ".api.mailchimp.com/1.2/?method=campaignClickStats&output=xml&apikey=" + apiKey + "&cid=" + allid;
m_txt.htmlText += "<a href='event:" + surl + "'>" + allsub + "</a>\n\n";
m_txt.addEventListener(TextEvent.LINK, linkEvent,false,0,true);
}
}
// *** Link text from xml - to other text box
function linkEvent(e:TextEvent):void
{
trace(e.text);
linkLoader = new URLLoader();
linkTarget = new URLRequest(e.text);
linkLoader.addEventListener(IOErrorEvent.IO_ERROR, xmlError,false,0,true);
linkLoader.addEventListener(Event.COMPLETE, linkComplete,false,0,true);
linkLoader.load(linkTarget);
//navigateToURL(new URLRequest(e.text), "_blank");
}
// *** Link text load complete;
function linkComplete(e:Event):void
{
linkLoader.removeEventListener(IOErrorEvent.IO_ERR OR,xmlError);
linkLoader.removeEventListener(Event.COMPLETE, linkComplete);
linkImport = new XML(e.target.data);
ssum = 0;
usum = 0;
nOfSt = linkImport.*.clicks.length();
nOfU = linkImport.*.unique.length();
for (i = 0; i< nOfSt; i++) {
adingSt = linkImport.*.clicks[i].text();
adingU = linkImport.*.unique[i].text();
ssum+=adingSt;
usum+=adingU;
var ust = usum;
var op = ssum;
}
m_txt.text = "Clicks = " + op + " and " + "Unique Clicks = " + ust;
}
// *** Load error;
function xmlError(e:IOErrorEvent):void
{
trace(e);
}