Как хранить и получать доступ к данным JSON для сайта?

Я создаю сайт HTML/jQuery, где почти весь контент поступает из удаленных данных JSON. У меня возникли проблемы с поиском хорошего способа хранения данных и доступа к ним в будущем (с точки зрения объема).

В настоящее время я написал плагин jQuery, который получает данные JSONP при загрузке сайта. Но у меня есть другие функции и плагины jQuery, которым нужен доступ к этим данным.

Где должны храниться эти данные, чтобы другие функции и плагины могли получить к ним доступ?

Должна ли это быть глобальная переменная?

Если это имеет значение, этот сайт будет работать только на iPad, а серверная часть сайта находится на Rails.


person Callmeed    schedule 02.04.2010    source источник


Ответы (4)


Я бы посоветовал вам исследовать постоянное хранилище HTML5, которое поддерживается в Safari и Mobile Safari в качестве базы данных SQL Lite. Если вы решите не идти по этому пути, я бы предпочел $().data() глобальной переменной в JavaScript.

person kim3er    schedule 02.04.2010
comment
Спасибо за информацию. Кажется, что $().data() прикрепляет данные к элементу DOM. Не могли бы вы предложить мне просто прикрепить его к документу или телу? - person Callmeed; 03.04.2010
comment
Учитывая, что вы потенциально будете получать доступ к этим данным из любого места на странице, я бы, вероятно, прикрепил их к документу, но я не думаю, что это имеет большое значение. Рад, что смог помочь. - person kim3er; 03.04.2010

Если есть управляемый объем данных JSON, вы можете получить к ним доступ через глобальные переменные. Желательно всего один или два глобальных объекта с вложенными свойствами.

Разработка веб-страницы не похожа на разработку библиотеки. Я думаю, что несколько глобальных переменных допустимы.

person Alex Jasmin    schedule 02.04.2010

Для хранения данных между запросами можно использовать HTML5 Storage. API. В противном случае просто передайте переменную (ссылку), содержащую данные.

person jholster    schedule 02.04.2010

Додзё есть.

Если у вас нет ограничений на использование jquery, возможно, вы сможете изучить его.

http://ajaxian.com/archives/dojostorage-offline-access-and-permanent-client-side-storage

С другой стороны, вы также можете просто сохранить его в массиве, к которому могут получить доступ другие плагины/функции.

person rmk    schedule 02.04.2010