Javascript.RU

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

jQuery.ajax( ) проблема пи получении данных от сервера
Столкнулся с проблемой jQuery.ajax( ).
var str = $("form").serialize();  
$.ajax({  
    type: "POST",
    url: '/modules/shop/recalculate.php',  
    cache: false,
    data: str,  
    success: function(msg){  
   
$(".choose_region").ajaxComplete(function(event, request, settings){  
update = msg.split('|');
 if(update[1]) // OK?
 {  
 var list_station = '<select id="state_sel" name="state_sel"  >'+update[0]+'</select>';  
 $("#country").val(update[1])
 $("#price").html(update[2]); 
 $("#price_dok").html(update[3]); 
  $("#price_total").html(update[4]); 
 $("#sitil").show();
 $("#sitil").html(list_station); 
 }  
 else // ERROR?
 {  
$("#country_b").hide();
$("#sitil").hide();
$("#country_sam").show();
$("#siti_l_sam").show();
 }  
 });

скрипт recalculate.php обрабатывает запрос и возвращает строку:
echo $l_gorod.'|'.$name_country[name].'|'.$product[price].'&nbsp;'.$valuta.'|'.$tov[price].'|'.$total;

Проблема заключается в том, что с каждым обращением к серверу скрипт кеширует предыдущий запрос и выводит сначала предыдущие результаты и потом уже последний. Как от этого можно избавится?
Ответить с цитированием
  #2 (permalink)  
Старый 28.07.2010, 19:22
Аспирант
Отправить личное сообщение для Panzermaus Посмотреть профиль Найти все сообщения от Panzermaus
 
Регистрация: 14.07.2010
Сообщений: 43

ajaxComplete не нужен.
Ответить с цитированием
  #3 (permalink)  
Старый 29.07.2010, 11:57
Новичок на форуме
Отправить личное сообщение для hard0000 Посмотреть профиль Найти все сообщения от hard0000
 
Регистрация: 28.07.2010
Сообщений: 3

Сообщение от Panzermaus
ajaxComplete не нужен.
без этой функции работать не хочет
Ответить с цитированием
  #4 (permalink)  
Старый 29.07.2010, 14:26
Аватар для sysya
Профессор
Отправить личное сообщение для sysya Посмотреть профиль Найти все сообщения от sysya
 
Регистрация: 27.12.2009
Сообщений: 292

Попробуйте отправлять текущее время с запросом
data:{ str, t: (new Date).getTime()  }
Добавьте в php скрипт заголовки запрещающие кеширование, если нет таких.

И скажите какая версия JQuery и какой браузер и его версия


Или используйте complete
$.ajax({
...
    complete: function(){
        // Handle the complete event
    }
    // ...
});
__________________
Нет предела совершенству...

Последний раз редактировалось sysya, 29.07.2010 в 15:03. Причина: Добавить
Ответить с цитированием
  #5 (permalink)  
Старый 30.07.2010, 12:34
Новичок на форуме
Отправить личное сообщение для hard0000 Посмотреть профиль Найти все сообщения от hard0000
 
Регистрация: 28.07.2010
Сообщений: 3

Спасибо.. всё получилось.
В пхп обработчике отправляю хедер с запретом на кеш и всё работает)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прием данных с сервера в EXT JS Rush ExtJS 13 30.03.2012 13:42
Преобразование данных с сервера в JSON frolvict Общие вопросы Javascript 1 04.04.2010 12:26
Проблема с удалением данных из <select> konstantinopol Общие вопросы Javascript 20 31.03.2009 18:05
Проблема с возвращением данных с сервера IgorN Общие вопросы Javascript 2 26.11.2008 13:58