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
 
Start new topic
Odpowiedzi (1 - 5)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Hmm, może zwracaj nagłówek 304, jeśli niezmodyfikowane?

Ale i tak będzie to zajeżdżało serwer, poza tym - opóźnienia na łączach mogą zabić całą ideę skryptu, ja bym tu inaczej to rozwiązał. Przede wszystkim tak, aby wysyłane było tylko jedno zapytanie ze wszystkimi produktami, a nie tylko dla jednego z osobna. Albo chociaż zmniejszyć rozdzielczość licznika.
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




zakladam ze robisz cos ala podbij.pl

Odpytuj wiec co 1 sekunde serwer o wszystkie widoczne elementy a nie kazdy z osobna - taki robi podbij i jakos sie przegladarka nie zazyna.
Wspomnial tez otym erix wyzej
Go to the top of the page
+Quote Post
zderek
post
Post #4





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

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


tak serwis jest coś ala to (czego to klienci nie wymyśla a szef nie zgodzi się robić),
dzięki za odpowiedzi spróbuję tak to rozwiązać.

Pozdrawiam
Go to the top of the page
+Quote Post
jarek_bolo
post
Post #5





Grupa: Zarejestrowani
Postów: 149
Pomógł: 12
Dołączył: 3.03.2008
Skąd: łódzkie

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


Ostatnio w słyszałem, że Ministerstwo Finansów coś się czepia takiej formy aukcji, że łamie jakieś zasady czy coś.
To Ci Platforma pro przedsiębiorcza jest dopiero (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) No ale nic, nasze społeczeństwo takie, że na własnej skórze jak się nie przekona to nie zrozumie co wybrało...
Go to the top of the page
+Quote Post
zderek
post
Post #6





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

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


Cytat(jarek_bolo @ 30.03.2009, 13:58:54 ) *
Ostatnio w słyszałem, że Ministerstwo Finansów coś się czepia takiej formy aukcji, że łamie jakieś zasady czy coś.
To Ci Platforma pro przedsiębiorcza jest dopiero (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) No ale nic, nasze społeczeństwo takie, że na własnej skórze jak się nie przekona to nie zrozumie co wybrało...


serwis nie jest mój ani dla mnie, więc mnie to nie straszne (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
ja generalnie dłubię tylko w php ale na starość przyszło mi też z AJAXem spróbować się zaprzyjaźnić (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 25.08.2025 - 04:05