Показать сообщение отдельно
  #2 (permalink)  
Старый 19.12.2012, 12:16
Аспирант
Отправить личное сообщение для Sanda Посмотреть профиль Найти все сообщения от Sanda
 
Регистрация: 12.10.2012
Сообщений: 90

Создаём локальную переменную, в которую сохраняем данные в success запроса. Если переменная не пуста, вызываем callback без запроса к серверу, иначе запрашиваем данные.
(function () {
var cache
  , callback = function (data) {
    //тут обрабатываю пришедшие данные
  };
$('.knopka').click(
  function () {
    if (cache) { //data are already cached -
      callback(cache); //process them
    } else { //no data -
      $.ajax({ //request it,
        //...
        , success: function(data) {
          cache = data; //then save
          callback(cache); //and process
        }
      });
    }
  }
);
}());
Ответить с цитированием