将jQuery Ajax Response保存在全局变量中以将其发送到另一个页面(没有本地或会话存储)

时间:2018-10-29 17:29:17

标签: jquery json ajax

我正在尝试进行Ajax调用,并将响应保存在全局变量中,该变量可以在另一个页面中访问。

这是我可重用的AJAX函数-

function coAjax(url, data, handleData) {
    if(url != null && url != ''){
    $.ajax({
        url:url,
        type:'POST',
        dataType: 'json',
        contentType: 'application/json',
        data: data,
        success:function(result) {
            handleData(result);
        },  
        error: function(e){  
            console.log('error');
        }
    });
}};

我正在单击页面1的按钮上使用该功能-

$('#buttonOnPage1').click(function(e){
    e.preventDefault();
    var url ="example.com";
    var data = JSON.stringify(dummyData);
    coAjax(url, data, function(result){
        console.log(result);
        window.location.href = "page2.jsp";
    }); 
}

我希望不使用result中可以使用的localsession storage来访问ajax的page2.jsp。我无法说明不使用本地存储和会话存储的原因。请帮忙。

2 个答案:

答案 0 :(得分:0)

page2.jsp可以使用以下数据:<%= request.getParameter(“ json_data_id”)%>

如果data =({data:[{name:“ John”,pet:“ cat”},{name:“ Doe”,time:“ dog”}]}),则“ json_data_id”将用于例如:data [0] [name]

答案 1 :(得分:0)

您可以对encodeURIComponent的数据进行编码,并将其作为查询参数传递到新页面的url,然后使用window.location.search进行访问并在其中解码decodeURIComponent