Reputation: 2680
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
Reputation: 18557
you are providing the $.getJSON()
function with a callback function. That doesn't get executed until the request is complete.
Upvotes: 0
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