如何在javascript函数中将变量中的json数据存储从一个页面传递到另一个页面?

时间:2017-02-27 11:33:31

标签: javascript jquery json

我已将JSON来自服务器的数据响应存储到oldJson变量中。我想将此变量数据传递给新页面,其中找到另一个JS函数。

这是第一页代码

$(document).ready(function(){
    $("#submitform").click(function(e)
    {
    var MyForm = JSON.stringify($("#myform").serializeJSON());
    console.log(MyForm);
     $.ajax(
     {
     url : "http://localhost:8080/e-learner/v1/signIn",
     type: "post",
     headers: { 'Content-Type': 'application/json' },
     data : MyForm,

    success:function(data,status){

       console.log(data);
       if(data.status==1)
       {
       alert(data.errorMessage);//alert ur data here by checking data
       }
       else if(data.clientType == "Admin")
       {
         var oldJson = JSON.stringify(data);
         console.log(oldJson);

         $('#temp').data('oldJson', jData);

     // alert("Your account created Successfully. Your Reference Key is"+data.referenceKey); 
     window.location.href = "Report.html"
      //redirect code to dashboard page console.log(JSON.stringify(data));
    }
    else
    {
    window.location.href = "index.html"
}
    },
    error:function(err){
       console.log(err);
       alert(err.statusText);
    }

     });


    });
    });
    </script>

第二页代码
 我希望在此函数中$.getJSON('jData', function(jsonData)传递oldJson数据变量

<script>
    $(document).ready(function () {

        jData = $('#temp').data('oldJson');
    $.getJSON('jData', function(jsonData) {


    console.log(jsonData);

    var s1=jsonData.data.student;

    for (var i = 0; i < s1.length; i++) {
       var counter = s1[i];
       if(jsonData.status!="error")
            {
                tr = $('<tr/>');
                tr.append("<td>" + counter.referencekey + "</td>");
               tr.append("<td>" + counter.email + "</td>");
                tr.append("<td>" + counter.clients+ "</td>");

                $('table').append(tr);

            }
      else
          {
            alert(jsonData.message);
          }
      }

     });
        });




    </script>

1 个答案:

答案 0 :(得分:0)

重定向时使用以下代码

else if(data.clientType == "Admin")
{
    var oldJson = JSON.stringify(data);
    window.location.href = "Report.html?data=" + oldJson;
}

获取第二页的价值

添加以下功能

function getUrlVars (url) {
            var vars = {};
            url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (m, key, value) { vars[key] = value; });
            return vars;
        }

然后获取旧值,请执行以下操作

var urlValues = getUrlVars(window.location.href);
var oldValue = JSON.parse(decodeURIComponent(vars.data));