Сохраните JQuery Ajax Response в глобальной переменной, чтобы отправить его на другую страницу (без локального или сессионного хранилища) - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь сделать 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 AJAX без local и session storage, которые можно использовать в page2.jsp. Я не могу указать причину неиспользования локального хранилища и хранилища сессий. Пожалуйста помоги.

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

Вы можете закодировать encodeURIComponent свои данные и передать их в качестве параметра запроса на новый URL страницы и получить доступ с помощью window.location.search и декодировать decodeURIComponent там.

0 голосов
/ 29 октября 2018

Данные будут доступны для page2.jsp как: <% = request.getParameter ("json_data_id")%>

Если data = ({data: [{name: "John", pet: "cat"}, {name: "Doe", time: "dog"}]}), то "json_data_id" будет для пример: данные [0] [имя]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...