Как создать объект данных в браузере?

Я хочу знать, можем ли мы создать объект данных, используя jquery/json, который существует только в браузере, как у нас есть объект сеанса на стороне сервера?

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

Единственным хорошим примером является система репутации stackoverflow, где внизу отображается полная статистика репутации, но когда мы выбираем конкретное время, она расширяет приведенный выше график до этого периода, и когда мы щелкаем любую полосу на верхнем графике, он показывает вопросы, за которые проголосовали "за" или "против"... что-то вроде базы данных в браузере.

Надеюсь, я ясно объяснил, что я ищу?


person Safran Ali    schedule 07.02.2012    source источник
comment
Ты про печеньки?   -  person Jivings    schedule 07.02.2012
comment
Я не понимаю, как бы вы это сделали без использования AJAX для запроса данных с сервера. Даже использование файлов cookie не было бы хорошей идеей, потому что похоже, что вы пытаетесь сохранить здесь довольно много данных. Если вас заинтересует решение на основе AJAX и JSON, я могу дать ответ.   -  person bsimic    schedule 07.02.2012
comment
не совсем, потому что в файлах cookie у вас есть ограничение на хранение данных... Я ищу объект данных JSON, который создается, когда пользователь входит в систему, и уничтожается, когда пользователь выходит из системы...   -  person Safran Ali    schedule 07.02.2012
comment
@bsimic Я знаю об Ajax и JSON, и я использую тот же подход, но я ищу передовой опыт, который предполагает меньшее использование БД, когда вы манипулируете данными на стороне клиента ... и JSON имеет очень богатую модель структуры данных для храните такие данные ... пожалуйста, представьте свою идею, которую вы могли бы использовать лучше, чем то, что я делаю сейчас ...   -  person Safran Ali    schedule 07.02.2012


Ответы (1)


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

у пользователя есть история покупок за последние 6 месяцев, и он хочет видеть гистограмму этой истории в зависимости от различных показателей, например, сколько они купили с помощью наличных/кредитной карты/дебетовой карты или в каком месяце они потратили больше, чем в другие месяцы

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

Затем я бы создал класс, который будет служить исключительно для выполнения запросов AJAX для получения этих данных. Вы должны создавать объекты, у которых есть методы доступа (геттеры), представляющие значения, которые вы пытаетесь отобразить. Затем преобразуйте эти объекты в JSON и сделайте так, чтобы это возвращаемое значение вашего запроса AJAX.

Как только вы вернете его на свою HTML-страницу, вы можете делать с ним все, что захотите, поскольку он находится в формате JSON. Вы также можете поместить результат вашего запроса, преобразованного в JSON, в объект сеанса, чтобы иметь доступ к нему на каждой странице.

Надеюсь, это поможет. Не стесняйтесь, пишите мне, если вам нужны какие-либо разъяснения.

person bsimic    schedule 08.02.2012
comment
спасибо, у меня была такая же идея, еще одна вещь, есть ли у вас учебник или пример, который я могу посмотреть? Так как это будет хорошо, поскольку я не эксперт по программированию в обработке объектов JQuery... - person Safran Ali; 09.02.2012
comment
Действительно, веб-сайт jQuery очень полезен и содержит отличные примеры. Просто взглянув на api.jquery.com/jQuery.getJSON, вы найдете действительно полезную информацию. Как только вы получаете JSON в объекте jQuery, обработка объекта действительно похожа на Java. - person bsimic; 10.02.2012