Javascript - Undefined ?
Здравейте!
Искам да ви попитам, като за лаик, защо следният код дава undefined?
var loadjson = function(file){
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", file);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
return JSON.parse(xmlhttp.responseText);
}
}
xmlhttp.send();
};
function setTypePrice() {
var json = loadjson('data/ws.json');
....
}
setTypePrice(); // json is undefined
Благодаря, предварително!
Благодаря!
Изглеждаше прекалено лесно, но уви!
Следващия код, мисля че сработи. Поне получавам json файла, като променлива. Благодаря за насоката :)
var loadjson = function(file,callback){
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", file);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
callback.call(JSON.parse(xmlhttp.responseText));
}
}
xmlhttp.send();
};
loadjson('data/ws.json', function(){
var json = this;
console.log(json);
}); // Object { type: Array[6], size: Array[6], kb: Array[1], other: Array[2] }
Да, така ще се стигне до тази променлива когато се изпълни заявката :-)