var s = store.get('billablexxxx');
if (!s) {
if (false) {
s = {
"something" : 'Value', ....
}
}
}else {
s = new Object;
$.getJSON('Translation/GetIndexLabels', function(data) {
$.each(data, function(key, val) {
s[key] = val;
// temp[key] = val;
})}) ;
}
}
//here i use the variable
But where i use the variable, the dynamic properties dissapaered, it’s not undefined but it’s an empty object.
However, when it has been set in the $.getJSON() function, all values are added.
What did i do wrong?
Edit:
Fixed the problem by putting it into a function. When i posted the question, i was already close to the answer that i have looked for the last “hour” (weird javascript console results brought confusion).
Thanks for the advice!
The call to
$.getJSON()is asynchronous, so the execution will reach the part where you “use the variable” before the asynchronous call completes.The usual way to deal with this is to have the use of the variable inside a callback function that is referenced in the
getJSON()call.Here’s the reference: http://api.jquery.com/jQuery.getJSON/