重複の可能性:
jQuery:ajax呼び出しが成功した後にデータを返す
まず第一に、私はJSやjQueryの経験があまりありませんが、プログラミングスキルに関しては、私のアプローチに問題があるものを見つけることができないようです。
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
};
デバッガーでコードを調べたところ、次のようになりました。プログラムがaddTreeServletから戻ってきて、JSONデータを表す文字列を送信します。eval()関数はこの文字列を受け取り、それをJSONオブジェクトに変換します(ここでも、デバッガーでは完全に正常に見えます)。しかし、function(jsonResponse)を離れるとすぐに、varサブツリーが未定義として表示され、その理由がわかりません。
それはjQueryメソッドのせいですか?何も思いつきません...
subtree="whatever"と入力した場合も同じ動作です。関数を終了するとすぐに未定義になります。