Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery][AJAX]jak nie zabić przeglądarki
zderek
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 30.03.2009

Ostrzeżenie: (0%)
-----


Witam,
pracuję obecnie nad serwisem w którym dane muszą być aktualizowane bez akcji ze strony użytkownika w dodatku dość często i dla sporej liczby obiektów.
Problem wygląda następująco:

na stronie mam ok. 20 obiektów, które mają liczniki czasu (ważności).
Licznik pokazuje czas jaki upływa do utraty ważności obiektu, i jest aktualizowany co sekundę.
Nie byłoby problemu, gdyby licznik miał tylko sobie schodzić w dół, ale w wyniku akcji użytkownika licznik może zmienić wartość i odliczanie musi odbywać się wtedy od nowej wartości, w dodatku musi oczywiście zaktualizować się u wszystkich klientów.

Sama funkcja js wygląda tak:

Kod
var $j = jQuery.noConflict();  
$j(document).ready(function(){

down(".product ul[id]");

function down(grab){  
var pid = $j(grab).attr("id");  
     $j(grab).everyTime(1000).each(function(i) {  
      
          $j.ajax({  
            type: "GET",  
            url: "/web/pl/ajax/product.php",  
            data: "product_id="+pid,  
            success: function(msg){  
              $j(grab).html(msg);  
            },  
            error: function(msg){  
              alert("błąd!!!");  
            }  
          });  
          
     });
}


tak więc js odpytuje skrypt product.php co 1s dla każdego z produktów.
Powoduje to niestety praktycznie "zabicie" przeglądarki i aż się boję pomyśleć co mogłoby się stać z serwerem przy ilości powiedzmy 1000 userów.

Czy jest jakiś sposób aby serwer wysyłał dane do skryptu tylko w momencie jeśli licznik uległ zmianie innej niż domyślne odliczanie? Bo rozumiem, że przeglądarka i tak musi odpytać co 1s serwer - niezależnie od okoliczności.
A może da się to rozwiązać wysyłając odpowiednie nagłówki?

Z góry dziękuję za wskazówki.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 12:47