我想在整个网站中将用户数据作为全局访问。我创建了一个全局数组UserData
并在登录时推送用户数据
$.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
。但成功登录后会重定向到欢迎页面。该页面无法访问该数据。它显示空数组。
答案 0 :(得分:4)
全局变量不会存储在整个网站范围内,只有在您保持同一页面时才可用。如果您需要在客户端存储在页面重新加载之间存在的变量,请使用cookie或本地存储。
有许多关于如何使用一些简单的方法设置和获取本地存储变量的示例(只使用谷歌),并且MDN提供了一些适合旧版浏览器的垫片:https://developer.mozilla.org/en/DOM/Storage#localStorage
如果你坚持使用cookies,你可以使用一些简单的jQuery插件,只需谷歌吧。
答案 1 :(得分:1)
除非您使用类似Cookie的内容来存储变量,否则您无法在页面加载之间维护变量。有关如何使用javascript中的Cookie的信息,请查看here。