Javascript 如何将JSON数据数组从一个html页面传递到另一个html页面?

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

我正在为用户创建配置文件页面。我有两个html页面:page1:login.htmlpage2:profile.html。从一个页面:1我们登录,成功登录后,它将重定向到userProfile页面:2。我正在将用户信息从第1页发送到 第2页,如姓名、地址、手机号码、电子邮件Id等,以JSON格式

我想使用sesstion,但不想使用localStorage

JSON的格式是

[{"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()