Передача переменных с помощью localStorage.setItem с использованием java, json, ajax и html

Я пытаюсь использовать localStorage для передачи переменных между страницами. В java я заполняю список:

output.add(0, accountGroup.getAccountId());
output.add(1, accountGroup.getLevel());
output.add(2, accountGroup.getGroupName());
output.add(3, "0");
output.add(4, accountGroup.getGroupSection());
output.add(5, accountGroup.getGroupNAS());
output.add(6, nextView);

String json = new Gson().toJson(output);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);

А затем я пытаюсь сохранить каждую переменную в ajax:

.done(function(responseJson){
                dataType: "json";    
                localStorage.setItem('lsAccountID', $('#temp').val(responseJson[0]));
                alert(localStorage.getItem('lsAccountID'));
                localStorage.setItem('lsAccountLevel', $('#temp').val(responseJson[1]));
                localStorage.setItem('lsGroupName', $('#temp').val(responseJson[2]));
                localStorage.setItem('lsNoGroupsStarted', $('#temp').val(responseJson[3]));
                localStorage.setItem('lsGroupSection', $('#temp').val(responseJson[4]));
                localStorage.setItem('lsGroupNAS', $('#temp').val(responseJson[5]));
                localStorage.setItem('lsNextView', $('#temp').val(responseJson[6]));

                window.location.assign("SelectPerson.html");
})

Это не сохраняет правильное значение (в данном случае "7"), это отображается как "alert (localStorage.getItem ('lsAccountID'));" возвращает «[объект Object]» вместо «7». Я знаю, что «7» сохраняется в output.add (0, accountGroup.getAccountId ()); добавив "System.out.println".

Не нужно отлаживать alert. Используйте консоль браузера (инструменты разработчика) (нажмите F12) и используйте console.info.

Sebastian Simon 01.04.2018 09:53

Зачем это нужно?

Glyn 01.04.2018 10:28

Если вы хотите увидеть больше деталей, чем [object Object], например фактическое содержимое этого объекта, то console.info будет лучшим способом сделать это.

Sebastian Simon 01.04.2018 10:30

Привет, Xufox, журнал выглядит следующим образом, что, как я считаю, не соответствует этой проблеме: Неперехваченная ошибка: синтаксическая ошибка, нераспознанное выражение: null </ul> в Function.fa.error (jquery.min.js: 2) в fa.tokenize (jquery.min.js: 2) в fa.select (jquery.min.js: 2) в Function.fa [как найти] (jquery.min.js: 2) в n.fn.init.find (jquery.min.js: 2) в новом n.fn.init (jquery.min.js: 2) в n (jquery.min.js: 2) в Object. <анонимный> (selectPerson-ajax.js: 29 ) в i (jquery.min.js: 2) в Object.fireWith [as resolveWith] (jquery.min.js: 2)

Glyn 01.04.2018 11:50

Интересно, что люди голосуют против, не комментируя. Думаю, они тоже не знают ответа.

Glyn 01.04.2018 11:51

Люди голосуют против, потому что не было предоставлено конкретной постановки проблемы. «Это не работает» совершенно бесполезно.

Sebastian Simon 01.04.2018 11:54
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
4
6
679
1

Ответы 1

Ответ - использовать parseJSON:

       .done(function(responseJson){
            dataType: "json";    
            var result = $.parseJSON(responseJson);

            localStorage.setItem('lsAccountID', result[0]);
            localStorage.setItem('lsAccountLevel', result[1]);
            localStorage.setItem('lsGroupName', result[2]);
            localStorage.setItem('lsNoGroupsStarted', result[3]);
            localStorage.setItem('lsGroupSection', result[4]);
            localStorage.setItem('lsGroupNAS', result[5]);
            localStorage.setItem('lsNextView', result[6]);

            if (result[6] == "1"){
                window.location.assign("SelectPerson.html");
            }else{
                $('#ajaxGetUserServletResponse').text(result[6]);
                $("#accountName").focus();
            }
            window.location.assign("SelectPerson.html");
        })

Другие вопросы по теме