Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Ponawianie zapytania
Mikan
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 1.05.2006

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


Mam problem z kodem JS:

Kod
function proces(ramka, cel){
req.onreadystatechange = function ()
{
    if(req.readyState == 4)
    {
        if(req.status == 200)
        {
            document.getElementById(ramka).innerHTML = req.responseText
        }
        else
        {
            alert('error')
        }
    }
}
    if (req.readyState == 4 || req.readyState == 0)
    {
        req.open('GET', cel, true);
        req.send(null);
    }
    else
    {
        setTimeout(proces(ramka, cel), 1000)
    }

}


Chciałbym, aby za każdym razem kiedy połączenie jest zajęte, skrypt czekał 1s i ponawiał zapytanie. W obecnej wersji zwraca błąd zbyt wielu odwołań do samego siebie (too much recursion). Nie mam pomysłu jak inaczej wykonać ten skrypt.
Go to the top of the page
+Quote Post
potwor
post
Post #2





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 26.11.2007

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


Myślę że zrozumiałem o co chodzi:
  1. function proces(ramka, cel){
  2. req.onreadystatechange = function ()
  3. {
  4. if(req.readyState == 4 || req.readyState == 0)
  5. {
  6. if(req.status == 200)
  7. {
  8. document.getElementById(ramka).innerHTML = req.responseText
  9. }
  10. else
  11. {
  12. alert('error')
  13. }
  14. } else {
  15. setInterval(proces(ramka, cel), 1000)
  16. }
  17. }
  18. }
Go to the top of the page
+Quote Post
Mikan
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 1.05.2006

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


Ten skrypt tylko przechwytuje dane z serwera, a chciałbym żeby jeszcze wysylal
Go to the top of the page
+Quote Post
potwor
post
Post #4





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 26.11.2007

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


  1. function proces(ramka, cel){
  2. if (req.readyState == 4 || req.readyState == 0)
  3. {
  4. req.open('GET', cel, true);
  5. req.send(null);
  6. }
  7. req.onreadystatechange = function ()
  8. {
  9. if(req.readyState == 4 || req.readyState == 0)
  10. {
  11. if(req.status == 200)
  12. {
  13. document.getElementById(ramka).innerHTML = req.responseText
  14. }
  15. else
  16. {
  17. alert('error')
  18. }
  19. } else {
  20. setInterval(proces(ramka, cel), 1000)
  21. }
  22. }
  23. }

Coś takiego?
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.12.2025 - 13:36