Показать сообщение отдельно
  #13 (permalink)  
Старый 29.03.2016, 18:01
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Вернемся к варианту пост#9 (потому что последний - действительно... последний)
Сообщение от ureech Посмотреть сообщение
Сделал так
$('select[name="mark"]').change(function() {
			var cache =[];
         var data = this.name + '=' + this.value;
		 if(cache[data]){
		 $('#brn').html(cache[data]);
		 //alert('11111111')
                      } else {
         $.ajax({
              type:"POST",
              url:"/modules/mod_search_auto/ajax.php",
			  dataType:"html",
             data: data,
         success: function(data) {
		 $('#brn').html(data);
          cache[data] = data;
		 // alert(cache[data])
           }
         })
	   }		 
    });

Но не кеширует.
Чтобы кеш все помнил, его определение var cache =[]; нужно вынести на глобальный уровень (как в последнем варианте )
Потом, мне кажется, вы запутались с переменными data:
data в строках 3 - 12 и в строках 13-16 - это разные переменные,
Первая - это значение, которое вы берете из html и передаете в запросе на сервер. (но не проверяли кеш на ее наличие и не запомнили в кеш ).
Вторая - определяется в строке 13 как параметр функции и представляет ответ сервера (что там - я, например, не знаю).
Поэтому строка 15
cache[data] = data;
- что это значит?
Эту переменную, во избежание путаницы, лучше обозвать по-другому.

С учетом вышеизложенного можете попробовать снова. В разных ваших вариантах есть отдельные правильные мысли, но они перемешаны с ошибками
Ответить с цитированием