在javascript中维护函数外部变量的值?
我试图在函数中操纵一个变量。但一旦我退出函数,它似乎就会忘记这些值,即使变量是在函数外部声明的 基本守则:在javascript中维护函数外部变量的值?,javascript,Javascript,我试图在函数中操纵一个变量。但一旦我退出函数,它似乎就会忘记这些值,即使变量是在函数外部声明的 基本守则: var posts = {}; // Perform a data request // skjutsgruppens-page $.oajax({ url: "https://graph.facebook.com/197214710347172/fee
var posts = {};
// Perform a data request
// skjutsgruppens-page
$.oajax({
url: "https://graph.facebook.com/197214710347172/feed?limit=500",
*SNIP*
success: function(data) {
$.extend(posts, data);
}
});
// Gruppen
$.oajax({
url: "https://graph.facebook.com/2388163605/feed?limit=500",
*snip*
success: function(data) {
$.extend(posts, data);
}
});
oajax从facebook检索数据。我想创建一个包含来自两个oajax方法的数据的变量
实际代码:问题很可能是
success
函数在将来的任意时间执行——除非您在知道success
函数已执行后专门访问posts
,否则您将收到未定义的结果,完全取决于函数和访问时间
最好的方法是通过在success函数内部执行必要的工作,或者使用jQuery之类的工具来正确处理此问题。如果您是正确的,那么当我得到答案时,success就会执行。这就是我想用数据扩展帖子的时候。这不是我正在做的吗?@Kristofernolgren您告诉我们——在成功函数中,在调用
extend
之后,对象中的数据是吗?数据的格式是否适合.extend
使用?您在什么时候访问posts
而数据不在那里?posts中的数据似乎就在那里,就好像是上一次加载页面时的数据一样,它在两个对象之间交替出现。我真的不明白…@克里斯托弗诺格伦在哪两个物体之间交替?什么时候进行Ajax调用?什么时候访问Ajax调用之外的posts
中的数据?我想,你需要用更多的细节来更新你的问题。@Kristofernolgren啊,明白了——很高兴你解决了。你可能会考虑创建你自己的答案并接受它,因为我的方法是偏离了基础,或者用额外的信息来编辑我的作品。似乎extend方法只在我重新加载页面时适用。世界跆拳道联盟?