Показать сообщение отдельно
  #1 (permalink)  
Старый 11.02.2010, 16:39
Новичок на форуме
Отправить личное сообщение для SiZE Посмотреть профиль Найти все сообщения от SiZE
 
Регистрация: 04.05.2009
Сообщений: 7

Помогите с видимостью
filter = {
  cache : {},
  type : '',
  init : function ( type ) {
     this.type = type;
     // Данные не закешированы
     if ( typeof this.cache[this.type] == 'undefined' ) {
        // Пошел jQuery post
        $.post('page.php',null,function(data){
           filter.updateCache ( data, filter.init );
        },'json');
     }
  },
  updateCache : function ( data, callback ) {
     this.cache[this.org] = new Array();
     for (var i in data) if (data.hasOwnProperty(i)) {
        this.cache[this.type].push( data[i] );
     }
     callback( this.type );
  }
}

window.onLoad=function() { filter.init('one'); }

Помогите разобраться. Я тут вкратце свой код привел. Работу с объектами в JS только сегодня начал осваивать.

Я хочу данные, получаемые в JSON через jQuery.post(), закешировать в объекте filter.cache , в дальнейшем загружать не через AJAX, а из объекта. Так вот после вызова `callback( this.type );` `this.cache` становится `undefined`. Ну и если подскажите более удачное решение, будет круто
Ответить с цитированием