Плагин для работы с куками

При создании различных веб приложений одним из популярных методов хранения информации являются куки. Плагин jQuery jCookies существенно облегчает работу с ними. Можно работать с различными данными: строками, массивами, объектами.

В данном уроке демонстрируются методы для хранения и получения информации с помощью jCookies. Также будет показано, как получить информацию на серверной стороне с помощью кода C# и PHP.

 

Создаем куки

Чтобы создать куки надо вызвать метод jCookies с двумя параметрами - именем и значением куки:

$.jCookies({
    name : 'Listening To',
    value : { album : 'The Go Round', artist : 'Inf', rating : 9, thumbs_up : true}
});

Так можно сохранять любые данные. По умолчанию куки имеют срок хранения 27 дней. Можно изменить срок хранения используя следующие свойства для задания времени: seconds, minutes, hours, days. Значения данных свойств должны быть числами, иначе они будут игнорироваться.

$.jCookies({ name : 'User', value : { username : 'Bob' , level : 5 }, minutes : 60 });

Примечание: если вы планируете получать данные на серверной стороне через ASP.net используйте насколько возможно простую структуру данных куки.

 

Получаем данные куки

Для получения данных нужно вызвать метод jCookies с одной опцией get:

var listening_to = $.jCookies({ get : 'Listening To' });
    // ответ: { album : 'The Go Round', artist : 'Inf', rating : 9, thumbs_up : true}

var rutabaga = $.jCookies({ get : 'Rutabaga' });
    // ответ: false

Данные возвращаются в том же виде, что и сохранялись. Если нет куки с заданным именем, или истек срок его хранения, или в случае другой ошибки возвращается значение false. Если нужно посмотреть, что за ошибка произошла, поможет опция error. По умолчанию она имеет значение false.

var rutabaga = $.jCookies({ get : 'Rutabaga', error : true });
    /* ответ:
        Error : {
            arguments : undefined,
            message : "Invalid base64 data",
            stack : "—",
            type : undefined
        }
    */

В примере приводится ответ при наличии ошибки в браузере Chrome. В зависмости от браузера ответ может немного изменяться.

 

Удаляем куки

Для удаления куки нужно вызвать метод jCookies с одним параметром erase:

var erased_listening_to = $.jCookies({ erase : 'Listening To' });
    // ответ: true

var rutabaga = $.jCookies({ erase : 'Rutabaga' });
    // овтет: false

Если куки с заданным именем существовало в системе и было удалено, возвращается true. в другом случае возвращается false.

 

Серверная сторона

Работа с куками, созданными jCookies, требует на серверной стороне декодирования данных Base64 и последующего декодирования данных JSON.

Устанавливаем куки в JavaScript

$.jCookies({name:'user',value:{name:'brian',level:'awesome'}});
    // ответ: true

Получаем куки в PHP

<?php print_r(json_decode(base64_decode($_COOKIE['user'], true))); ?>
    /* ответ:
        stdClass Object
            (
            [name] => brian
            [level] => awesome
            )
    */

В PHP работа с куками, созданными jCookies, организуется достаточно просто. Как в выше приведенном примере.

Получаем куки в C#

Dictionary<string,object> user =
  new JavaScriptSerializer().Deserialize<Dictionary<string,object>>
  (Encoding.UTF8.GetString(
	Convert.FromBase64String(Page.Request.Cookies["user"].Value)
  ));

Page.Response.Write("user : name  = " + (string) user["name"]);


В C# процесс несколько сложнее. Нужно установить тип каждой части данных, прежде чем их можно будет использовать. В примере используется Dictionary<string,object>. Мы устанавливаем тип свойства string, чтобы иметь к нему доступ, и значение object для дальнейшего преобразования. Если вам известен точный формат данных куки, то лучше создать собственный класс для их хранения.

Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/hGNu1A_UAak/lessons.php

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

Плагин для работы с куками | | 2012-06-19 12:03:31 | | Статьи Web-мастеру | | При создании различных веб приложений одним из популярных методов хранения информации являются куки. Плагин jQuery jCookies существенно облегчает работу с ними. Можно работать с различными данными: | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: