Данные в глобальной переменной не доступны на другой странице в JavaScript - PullRequest
1 голос
/ 21 марта 2012

Я хочу получить доступ к пользовательским данным как глобальным для всего сайта.Я делаю глобальный массив UserData и выдвигаю пользовательские данные во время входа в систему

        $.getJSON(targetUrl,data,function(response) {
             if(response.success){
             UserData.push(response.userData);//push the user data in global variable 

             } else{
                alert(response.error);
             }
         });//ajax request

. Он успешно выдвигает массив UserData.Но при успешном входе в систему перенаправляет на страницу приветствия.Данные не доступны на этой странице.Показывает пустой массив.

Ответы [ 2 ]

4 голосов
/ 21 марта 2012

Глобальные переменные не сохраняются по всему сайту, они доступны только до тех пор, пока вы остаетесь на той же странице.Если вам нужно хранить переменные на клиенте, которые сохраняются между перезагрузками страницы, используйте cookie-файл или локальное хранилище.

Существует множество примеров того, как установить и получить переменные локального хранилища, используя несколько простых методов (просто используйте Google)и есть несколько приличных шайб для устаревших браузеров, доступных на MDN: https://developer.mozilla.org/en/DOM/Storage#localStorage

Если вы придерживаетесь куки, есть несколько простых плагинов jQuery, которые вы можете использовать, просто гуглите их.

1 голос
/ 21 марта 2012

Вы не сможете поддерживать переменные между загрузками страниц, если вы не используете что-то вроде куки для хранения ваших переменных. Посмотрите здесь для получения информации о том, как использовать куки из javascript.

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