2010-04-02 3 views
4

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

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

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

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

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

ответ

4

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

+0

Спасибо за информацию. $(). data(), похоже, прикрепляет данные к элементу DOM. Вы могли бы предложить мне просто прикрепить его к документу или телу? – Callmeed

+0

Учитывая, что вы будете потенциально получать доступ к этим данным из любой точки страницы, я бы, вероятно, присоединился к документу, но я не думаю, что это имеет большое значение. Рад, что смог помочь. – kim3er

0

У додзе есть.

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

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

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

1

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

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

1

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