Hi I’m trying to access a variable that is the result of a HTTP request function in another method. I’m trying to return the value str though, and can’t seem to get it. All I am returned with is ‘undefined’ instead of the value of str.
Strangely this works in an alert, but it won’t seem to work as a var. Does anyone know how to reference it?
Thanks
[code]
var a= document.getElementById(“lfmsearch”);
var b= document.getElementById(“lfmusearch”);
var returntags = tracktags(a,b);
The method I want the value [b]str
[code]
function tracktags(string, string2)
{
var str = “”;
var http = new XMLHttpRequest(); //new request
http.open(“GET”, “http://ws.audioscrobbler.com/1.0/track/”+string+”/”+string2+”/toptags.xml”, true);//post request
http.onreadystatechange = function() {//Call a function when the state changes.
if(http.readyState == 4 && http.status == 200) {
var p= http.responseXML.getElementsByTagName(“name”)[0].firstChild.nodeValue;
var p2= http.responseXML.getElementsByTagName(“name”)[1].firstChild.nodeValue;
var p3= http.responseXML.getElementsByTagName(“name”)[2].firstChild.nodeValue;
var p4= http.responseXML.getElementsByTagName(“name”)[3].firstChild.nodeValue;
var p5= http.responseXML.getElementsByTagName(“name”)[4].firstChild.nodeValue;
var f = str + ” ” + p + ” ” + p2 + ” ” + p3 + ” ” + p4 + ” ” + p5;
str = f;
return str
}
}