我正在开发一个获取访问令牌并将其存储在变量中的phonegap应用程序。我想在另一个html页面中访问该变量。
我的代码在第1页。
success: function (msg) {
var accesstoken = msg.access_token;
alert(accesstoken);
//alert(msg);
if(accesstoken.length > 2){
window.location = 'shop_registration.html?accesstoken=' + accesstoken;
}else{
alert("Username or password incorrect")
}
}
我想在第2页访问访问令牌变量。
感谢任何形式的帮助。
答案 0 :(得分:1)
当您将数组作为查询字符串发送时,请先使用
JSON.stringify(accesstoken)
,然后将其附加到查询字符串中,以便将字符串形式的JSON作为参数进行处理,并在访问它时使用getParameterByName
函数将返回字符串:
var getParameterByName = function(name)
{
name = name.trim().replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(location.search);
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
};
var res=getParameterByName('accesstoken');//this will return you the stringified value
现在您拥有以JSON字符串形式发送的值,要转换为数组,请使用JSON.parse
,如下所示:
var myData=JSON.parse(res);
答案 1 :(得分:1)
试试这个
// Store
localStorage.setItem("accesstoken", msg.access_token);
他们存储您的变量 并在第二页尝试这是为了获得价值
var data=localStorage.getItem("accesstoken");
alert(data);
答案 2 :(得分:0)
您可以将$ .mobile.navigate()函数与最新的jQuery Mobile一起使用,或者使用旧的jQuery Mobile使用$ .mobile.changePage()来导航页面。这些函数不会刷新整个页面,而是将page2的内容加载到page1中。所以全局变量将在页面导航后可用。
注意:使用changePage()或navigate()函数时,只会加载page2的body标签。因此,第2页的head标签中添加的脚本将被忽略。如果要在第2页加载时执行脚本,则需要添加相同的body标记。