strukturart
Erfahrenes Mitglied
Hallo,
ich möchte bei einer xmlhttpRequest Abfrage die Url "dynamisch" anpassen.
Anstatt einer for-loop rufe ich nach
xhttp.readyState === xhttp.DONE && xhttp.status === 200
die Anfrage die sich in einer Funktion befindet nochmal selbst auf. Die Url gebe ich als Parameter der Funktion mit, diese kommen von einem Array ist das Array "abgearbeitet" stoppt der Loop.
Aber die Url wird leider nie überschrieben es wird immer die bei der ersten Abfrage gesetzten verwendet.
Was mache ich denn falsch ?
ich möchte bei einer xmlhttpRequest Abfrage die Url "dynamisch" anpassen.
Anstatt einer for-loop rufe ich nach
xhttp.readyState === xhttp.DONE && xhttp.status === 200
die Anfrage die sich in einer Funktion befindet nochmal selbst auf. Die Url gebe ich als Parameter der Funktion mit, diese kommen von einem Array ist das Array "abgearbeitet" stoppt der Loop.
Aber die Url wird leider nie überschrieben es wird immer die bei der ersten Abfrage gesetzten verwendet.
Was mache ich denn falsch ?
Javascript:
var episode_limit = 0;
var url_counter = -1;
function podcast_downloader(param_value)
{
episode_limit = 0;
alert(param_value)
var xhttp = new XMLHttpRequest({ mozSystem: true });
xhttp.open('GET',param_value,true)
xhttp.withCredentials = true;
xhttp.responseType = 'document';
xhttp.overrideMimeType('text/xml');
xhttp.onload = function () {
if (xhttp.readyState === xhttp.DONE && xhttp.status === 200) {
var data = xhttp.response;
$(data).find('item').each(function(){
var file_name = ($(this).find('title').text());
var podcast_url = $(this).find('enclosure').attr('url')
episode_limit++;
if(episode_limit==1)
{
//push file url in array to download later
podcast_file_list.push(podcast_url)
url_counter++;
if (url_counter < podcast_url_list.length)
{
alert(podcast_url)
param_value = "";
podcast_downloader(podcast_url_list[url_counter])
}
}
else
{
return false;
}
})
}
};
xhttp.onerror = function () {
alert("error");
};
xhttp.send(null)
}