可能重复:
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 对象(同样,它在调试器中看起来非常好)。但是一旦我离开函数(jsonResponse),var 子树就会显示为未定义,我不知道为什么。
那是因为jQuery方法吗?我不知道...
如果我只输入 subtree =“whatever”,这也是相同的行为。一旦我退出函数,它就会变得未定义..