user1229351
user1229351

Reputation: 2035

Assign a value to global variable inside a function

I have a problem assigning a value to a global variable and using it inside of a function. Here is my code:

var chartinfo = {"c0":"0", "c1":"0"}; // This is my global variable
$.getJSON("http://127.0.0.1:8080/chartinfo", function(json1){
    chartinfo = json1; // I need to assign json1's value to chartinfo
});
$(function () {
    $(document).ready(function() {
        alert("external chartinfo " + chartinfo.c0.name); // I need to use chartinfo here

Upvotes: 0

Views: 625

Answers (1)

Mircea
Mircea

Reputation: 11613

The alert fails because your request is not finished yet. You could try this:

var chartinfo = {
    "c0": "0",
    "c1": "0"
};

var jqxhr = $.getJSON("http://127.0.0.1:8080/chartinfo", function (json1) {
    console.log("success");
})
    .done(function () {
    chartinfo = json1;
    alert("external chartinfo " + chartinfo.c0.name); // I need to use chartinfo here
})
    .fail(function () {
    console.log("error");
})

http://jsfiddle.net/ZpUsM/

Upvotes: 2

Related Questions