Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jQuery.ajax( ) проблема пи получении данных от сервера (https://javascript.ru/forum/jquery/10918-jquery-ajax-problema-pi-poluchenii-dannykh-ot-servera.html)

hard0000 28.07.2010 16:47

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;

Проблема заключается в том, что с каждым обращением к серверу скрипт кеширует предыдущий запрос и выводит сначала предыдущие результаты и потом уже последний. Как от этого можно избавится?

Panzermaus 28.07.2010 19:22

ajaxComplete не нужен.

hard0000 29.07.2010 11:57

Цитата:

Сообщение от Panzermaus
ajaxComplete не нужен.

без этой функции работать не хочет

sysya 29.07.2010 14:26

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

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


Или используйте complete
$.ajax({
...
    complete: function(){
        // Handle the complete event
    }
    // ...
});

hard0000 30.07.2010 12:34

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


Часовой пояс GMT +3, время: 23:26.