sstauross
sstauross

Reputation: 2680

getJson problem, it returns undefined

hello all i have this code

var temp;
if(method==1)
  temp = $("#Words").val();             //get the words from textbox
else{
  $.getJSON("http://localhost/mine/test.js", function(data) {
      temp=data.Words;
  });
}
//do something with temp...but temp is undefined after the execution of else

but temp is undefined after the execution of getJson...if i put an alert(temp) it continues whats going on? how can i take the value of temp to continue?

thanks in advance!

Upvotes: 0

Views: 466

Answers (2)

Ilia Choly
Ilia Choly

Reputation: 18557

you are providing the $.getJSON() function with a callback function. That doesn't get executed until the request is complete.

Upvotes: 0

genesis
genesis

Reputation: 50982

it's because getJSON is ajax request, not synchronous. Try this

var temp;
if(method==1) {
  temp = $("#Words").val();             //get the words from textbox
  proc(temp);
} else {
  $.getJSON("http://localhost/mine/test.js", function(data) {
      temp=data.Words;
      proc(temp);
  });
}

function proc(data){
    //do something with temp...but temp is undefined after the execution of else
}

Upvotes: 3

Related Questions