Javascript 如何将JSON数据数组从一个html页面传递到另一个html页面?
我正在为用户创建配置文件页面。我有两个html页面:page1:login.html和page2:profile.html。从一个页面:1我们登录,成功登录后,它将重定向到userProfile页面:2。我正在将用户信息从第1页发送到 第2页,如姓名、地址、手机号码、电子邮件Id等,以JSON格式 我想使用sesstion,但不想使用localStorage JSON的格式是Javascript 如何将JSON数据数组从一个html页面传递到另一个html页面?,javascript,php,jquery,html,json,Javascript,Php,Jquery,Html,Json,我正在为用户创建配置文件页面。我有两个html页面:page1:login.html和page2:profile.html。从一个页面:1我们登录,成功登录后,它将重定向到userProfile页面:2。我正在将用户信息从第1页发送到 第2页,如姓名、地址、手机号码、电子邮件Id等,以JSON格式 我想使用sesstion,但不想使用localStorage JSON的格式是 [{"userInfo":{"id":"1","username":"nee","Name":"Neelabh", "a
[{"userInfo":{"id":"1","username":"nee","Name":"Neelabh", "address":"Bangalore","Email":"nee@gmail.com"}}]
我使用此参考资料提供帮助:
登录页面中的JavaScript:
<script type="text/javascript">
$(document).ready(function(){
var userData = {
storeUserDataInSession: function(userData) {
var userObjectString = JSON.stringify(userData);
window.sessionStorage.setItem('userObject',userObjectString)
},
getUserDataFromSession: function() {
var userData = window.sessionStorage.getItem('userObject')
return JSON.parse(userData);
}
}
$("#register-form-header").submit(function(){
var uName = $('#userName').val();
var upassd=$('#password').val();
$.ajax({
url:"http://localhost/login/login.php",
type:"POST",
dataType:"json",
data:{type:"login",uName:uName,password:upassd},
ContentType:"application/json",
success: function(response){
$.each(response, function(index,value){
});
//alert(JSON.stringify(response[0]));
userData.storeUserDataInSession(response);
window.location = 'userProfile.html';
return false;
},
error: function(err){
//alert(JSON.stringify(err));
alert("fail");
window.location.href = 'error.html';
}
});
return false;
});
//loadJSON(0);
});
</script>
多亏了Mateusz Majewski,上述代码才是有效代码
var userData = {
storeUserDataInSession: function(userData) {
var userObjectString = JSON.stringify(userData);
window.sessionStorage.setItem('userObject',userObjectString)
},
getUserDataFromSession: function() {
var userData = window.sessionStorage.getItem('userObject')
return JSON.parse(userData);
}
}
然后在你的成功()回调中
userData.storeUserDataInSession(response);
检索您运行的数据
userData.getUserDataFromSession()
如果您想在移动设备上实现浏览器间的一致性,则必须使用cookie来传递数据。Safari的私有浏览模式不支持Local/SessionStorage。@denisol,你能告诉我更多关于它的信息吗..我将在哪里定义这个函数,var userData={storeUserDataInSession:function(userData){var userObjectString=JSON.stringify(userData);window.SessionStorage.setItem('userObject',userObjectString)},getUserDataFromSession:function(){var userData=window.sessionStorage.getItem('userObject')返回JSON.parse(userData);}}@neelabhsingh您可以在$(document).ready(function()块中完成,但这并不重要。它可以从任何地方访问。请检查我们是否必须在userData.storeUserDataInSession中使用响应[0](JSON.stringify(response[0]);我还有一个问题,如何在userprofile页面中获取单独的数据、姓名、电子邮件和手机。您可以这样做:var userDataObject=userData.getUserDataFromSession()。然后您可以像这样检索电子邮件:userDataObject[0].userInfo.Email.Thansk以获取答复,正如您建议我的,它不工作,var data=userDataObject[0].userInfo.username;
userData.storeUserDataInSession(response);
userData.getUserDataFromSession()