Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX] Dlaczego muszę czekać na wywołanie funkcji.
JAWS
post 17.12.2009, 13:06:01
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 28.02.2009

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


Witam,

mam listę, która wyświetla wiadomości. Mój problem polega na tym, że gdy kliknę Usuń na jedną z wiadomości, czyli uruchamia się del_message(id) w js, wiadomość nie jest usuwana od razu i muszę czekać aż minie te 15 sekund, co które uruchamia się funkcja pobierająca wiadomości get_data(). Jak zrobić aby nie czekać do tego uruchomienia, tylko od razu wyświetlić wiadomości z uwzględnieniem usunięcia wybranej wiadomości ?

mam taki kod js:

  1. var object = false;
  2.  
  3. if (window.XMLHttpRequest) object = new XMLHttpRequest();
  4. else
  5. if (window.ActiveXObject) object = new ActiveXObject("Microsoft.XMLHTTP");
  6.  
  7. function get_data()
  8. {
  9. if (object.readyState==4 || object.readyState==0)
  10. {
  11. var obj = document.getElementById("shoutbox-bg");
  12.  
  13. object.open("GET", 'views/lista_ajax.php');
  14.  
  15. object.onreadystatechange = function()
  16. {
  17. if (object.readyState == 4 && object.status == 200)
  18. obj.innerHTML = object.responseText;
  19. }
  20.  
  21. object.send(null);
  22. }
  23. }
  24.  
  25. function ref_function()
  26. {
  27. get_data();
  28. setTimeout("ref_function()", 15000);
  29. }
  30.  
  31. function del_message(id)
  32. {
  33. if (object.readyState==4 || object.readyState==0)
  34. {
  35.  
  36. object.open('GET', 'usun.php?usun=' + id);
  37. object.send(null);
  38.  
  39. get_data();
  40. }
  41. }


oraz taki php:

  1. echo '<ul class="messages">';
  2. while($r = mysql_fetch_assoc($result))
  3. {
  4. echo '<li class="message">';
  5. echo '<a href="usun.php?usun='.$r['id'].'" onclick="del_message('.$r['id'].'); return false;">Usuń</a>';
  6. echo $r['message'];
  7. echo "</li>";
  8. }
  9. echo '</ul>';


dodatkowo na stronie mam inicjację funkcji:

  1. <script type="text/javascript">
  2. ref_function();
  3. </script>


Ten post edytował JAWS 17.12.2009, 13:07:30
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 08:16