I have a fuction request.send();
that parses a .json
file, and gets credits
by current steamid
var request;
if (window.XMLHttpRequest) {
request = new XMLHttpRequest();
} else {
request = new ActiveXObject("Microsoft.XMLHTTP");
}
request.open('GET', './players.json');
request.onreadystatechange = function() {
if ((request.readyState === 4) && (request.status === 200)) {
var items = JSON.parse(request.responseText);
for(var i = 0; i < items.length; i++)
{
if(items[i].steamid == currentSteamID)
{
playerCredits = parseFloat(items[i].credits);
alert(playerCredits);
return playerCredits;
}
}
}
}
var playerCredits = request.send();
alert(playerCredits);
The first alert works fine:
I want to use the credits later, that is why I assigned the function to a variable:
var playerCredits = request.send();
But alerting playerCredits
give me this:
By searching for similiar questions I found out that I needed to use Callback, I tried doing this:
var request;
if (window.XMLHttpRequest) {
request = new XMLHttpRequest();
} else {
request = new ActiveXObject("Microsoft.XMLHTTP");
}
request.open('GET', './players.json');
request.onreadystatechange = function(callback) {
if ((request.readyState===4) && (request.status===200)) {
var items = JSON.parse(request.responseText);
for(var i = 0; i < items.length; i++)
{
if(items[i].steamid == currentSteamID)
{
playerCredits = parseFloat(items[i].credits);
callback(playerCredits);
}
}
}
}
request.send(function() {
console.log(playerCredits);
});
However this is the error I get:
Uncaught TypeError: callback is not a function
I'm pretty sure I'm not using Callback as I'm supposed to, and now I ask you:
What needs to be changed for this to work?