пустое значение cookie в chrome

0

В одной из моих программ я устанавливаю cookie, который содержит allowed_apps для пользователя. В Google Chrome, когда пользователь входит в систему, он без проблем обнаруживает разрешенные приложения для пользователя. Но IE не работает. Когда я отлаживал его в IE, он говорит, что cookie('allowed_apps') пуст. Странная вещь, когда я проверил в Chrome cookie('allowed_apps') тоже был пуст. Но все-таки приложения работают в хроме. Я очистил всю историю просмотров в обоих браузерах и попытался, но все тот же. Оба показывают, что cookie('allowed_apps') пуст. Но только хром работает, как есть некоторая ценность в cookie('allowed_apps'). Кстати, я использую jquery.cookie.js для управления файлами cookie.

В user_manager.js

var perm_list = '';
var allowed_apps = [];

for (i=0; i<response_data[0].permissions.length; i++) {
    perm_list += response_data[0].permissions[i].permissions;
    if ("" != response_data[0].permissions[i].permissions) {
        allowed_apps.push(obj_common.str_replace("_permissions", "", response_data[0].permissions[i].app_name));
    }
}

$.cookie('allowed_apps', allowed_apps);

И в home.js я получаю файл cookie

    var allowed_apps = $.cookie('allowed_apps').split(",");
  • 0
    Как насчет того, чтобы показать фрагмент кода того, как вы используете $.cookie
  • 0
    добавлен фрагмент кода
Теги:

1 ответ

0
Лучший ответ

Вы в настоящее время пишете массив, allowed_apps, в файл cookie; cookie может быть только строкой. Кодируйте массив перед записью.

Два способа сделать это:

  • $.cookie.json = true; //jQuery.cookie автоматически обрабатывает значения кодирования и декодирования для вас в json
  • Когда используются записи: $.cookie('allowed_apps', JSON.stringify(allowed_apps));
    Чтение: var allowed_apps = JSON.parse($.cookie('allowed_apps'));

Если вы установите cookie.json измените getter на просто

var allowed_apps = $.cookie('allowed_apps');
  • 0
    Файлы cookie имеют ограничение по размеру. Не знаю, насколько большим может быть этот массив, но размер может быть проблемой.
  • 0
    если ваш сайт HTML5, вы можете использовать localStorage который по умолчанию имеет ограничение 5 МБ
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню