Possible Duplicate:
jQuery: Return data after ajax call success
first of all I'm not very experienced with JS or jQuery, but as far as my programming skills go I can't seem to find anything that's wrong with my approach.
var subtree;
$.post("addTreeServlet",
{
term:clickedNode,
max:maxId,
id:clickedId
},
function(jsonResponse){
subtree = eval('(' + jsonResponse + ')');
}
);
$jit.json.prune(subtree, level);
return {
'id': nodeId,
'children': subtree.children
};
I went through the code with the debugger, and here is what happens: The program comes back from the addTreeServlet and transmits a String representing JSON data. the eval() function takes this String and transforms it into an JSON Object (again, it looks perfectly fine in the debugger). But as soon as I leave the function(jsonResponse) the var subtree is shown as undefined, and I can't figure out why.
Is that because of the jQuery method? I have no idea...
It is also the same behavior if I just put subtree = "whatever". It becomes undefined as soon as I exit the function..