У меня есть форма, которую я хотел бы сохранить значения в cookie, поэтому пользователю не нужно повторно вводить форму в каждом посещении. (Форма – это несколько выборок для фильтрации результатов поиска.)
Я хотел бы, чтобы сериализация cookie легко читалась из javascript (очевидно, чтобы установить форму onLoad), но я также хотел бы иметь возможность легко читать cookie с PHP (чтобы я мог использовать данные формы для фильтрации поиска Результаты).
Как бы я начал сериализовать форму с выборами, которые имеют множественный = «множественный», установленный в файл cookie и легко ли это читается в javascript и PHP?
Пожалуйста, не проповедуйте о проверке, я делаю это правильно на стороне сервера.
Если есть более разумное решение моей проблемы, пожалуйста, дайте мне знать.
BTW: Я использую CodeIgniter на сервере и библиотеки Prototype / Scriptaculous javascript.
Решение. Использовал Object.toJSON(
Form.serialize(form, true))
для javascript и использовал json_decode(string, bool)
PHP json_decode(string, bool)
чтобы получить ассоциативный массив в PHP из JSON.
Вы можете использовать формат JSON, который уже реализован на нескольких языках.
Я бы порекомендовал YAML. Он в основном разработан как общий метод сериализации для нескольких языков, включая JavaScript и PHP.
С сайта YAML:
YAML был разработан для удовлетворения потребностей в сериализации Perl, Python, Ruby, Tcl, PHP, Javascript и Java. Он также был разработан для обеспечения совместимости между этими языками. Это означает, что сериализации YAML, создаваемые Perl, могут обрабатываться Python.
Вот статья сайта по теме:
http://www.sitepoint.com/blogs/2004/04/22/serializing-php-data-structures-for-javascript/
Сайт YAML: