2012-03-21 102 views
1

我想在整个网站中以全局方式访问用户数据。我做一个全局数组UserData并在登录时javascript中的其他页面无法访问全局变量中的数据

 $.getJSON(targetUrl,data,function(response) { 
      if(response.success){ 
      UserData.push(response.userData);//push the user data in global variable 

      } else{ 
       alert(response.error); 
      } 
     });//ajax request 

它成功地推动在阵列UserData推动用户数据。但是,当成功的登录重定向到欢迎页面。数据无法在该页面上访问。它显示空阵列。

回答

4

全局变量不存储在站点范围内,它们只有在您保持在同一页面上时才可用。如果您需要在客户端存储在页面重新加载之间持续存在的变量,请使用cookie或本地存储。

有关于如何设置和使用一些简单的方法(只使用谷歌)获得本地存储变量很多例子,有对传统的浏览器提供一些体面的垫片在MDN:https://developer.mozilla.org/en/DOM/Storage#localStorage

如果你坚持饼干,你可以使用一些简单的jQuery插件,只需要谷歌它。

1

除非您使用类似cookie的东西来存储变量,否则您将无法在页面加载之间维护变量。关于如何使用来自JavaScript的cookies的信息,请看看here