Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.08.2013, 10:05
oli oli вне форума
Новичок на форуме
Отправить личное сообщение для oli Посмотреть профиль Найти все сообщения от oli
 
Регистрация: 09.09.2010
Сообщений: 3

data атрибуты для хранения ajax-данных
помогите, пожалуйста, разобраться,
можно ли использовать атрибуты data для хранения результатов полученных с помощью ajax запроса?
каков размер может быть дата-атрибутов? ведь они не гоняются как куки туда-сюда между сервером и клиентом. а где они хранятся?
пример, есть список ссылок, по нажатию на ссылку происходит аякс-загрузка данных в общий див-контейнер. но если пользователь никуда не уходил со страницы, а решил по второму разу пощелкать по тем же ссылкам, хочется, чтобы не посылался повторный запрос на сервер, а были показаны данные, которые он получил, когда первый раз щелкал на эту ссылку (в рамках данного сеанса, напоминаю, т.е. со страницы не уходил, окно браузера не закрывал). По идее можно же сохранить при первом щелчке данные результата в атрибуте data этой ссылки, а при втором просто достать их и отобразить, ведь так? или все-таки дата-атрибуты для этого не предназначены и нужно использовать web-storage или local-storage?
помогите, пожалуйста, разобраться, спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 23.08.2013, 10:12
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

да хранить в локальной переменной, делов-то)
$(function () {
    var data;

    $('#link').on('click', function () {
        if (data === undefined) {
            $.ajax({
                url: '/blah',
                data: { somedata: 'somevalue' },
                success: function (ajaxresult) {
                    data = ajaxresult;
                }
            });
        }
        else {
            alert('вы уже делали запрос и сервер вернул вот что:\n' + data);
        }
    });

});
Ответить с цитированием
  #3 (permalink)  
Старый 23.08.2013, 10:27
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,252

Сообщение от oli
если пользователь никуда не уходил со страницы, а решил по второму разу пощелкать по тем же ссылкам, хочется, чтобы не посылался повторный запрос на сервер, а были показаны данные, которые он получил, когда первый раз щелкал на эту ссылку
Так если УРЛ один и тот же... Если запрос типа GET... Все будет браться из кеша.
Ответить с цитированием
  #4 (permalink)  
Старый 23.08.2013, 10:31
Аватар для keen
Профессор
Отправить личное сообщение для keen Посмотреть профиль Найти все сообщения от keen
 
Регистрация: 28.03.2012
Сообщений: 376

Сообщение от ksa Посмотреть сообщение
Так если УРЛ один и тот же... Если запрос типа GET... Все будет браться из кеша.
только если принудительно выставлено кэширование запросов.
не путай человека.
Ответить с цитированием
  #5 (permalink)  
Старый 23.08.2013, 10:33
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,252

Сообщение от keen
только если принудительно выставлено кэширование запросов
Вона че, ясно...

Сообщение от keen
не путай человека
Да я книжку про это как раз читаю. Там так было написано.
Т.ч. запутать никого не хотел... Больше для себя уточнить.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книги по Ajax BaVa Учебные материалы 18 18.08.2013 14:05
ajax передача данных с setInterval Segol Общие вопросы Javascript 0 07.07.2013 09:36
ajax. Изменение базы данных запросом со страницы ASol AJAX и COMET 5 10.04.2013 13:03
формирую форму из данных полученных AJAx belbek AJAX и COMET 5 26.06.2009 15:01
Синхронный запрос данных по AJAX Shasoft AJAX и COMET 2 03.03.2009 14:07