Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX] Ponowne wywołanie skryptu po otrzymaniu odpowiedzi z serwera
rozny
post
Post #1





Grupa: Zarejestrowani
Postów: 116
Pomógł: 0
Dołączył: 14.01.2004
Skąd: Zielona Góra

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


Witam,

wywołuję w <body onload> skrypt AJAX wysyłający zapytanie do pliku php. Po otrzymaniu odpowiedzi chcę ponownie wywołać ten skrypt. Oto kod:

  1. function wyslijDane() {
  2.  
  3. xmlhttp = typeof XMLHttpRequest == "undefined" ? new ActiveXObject('Microsoft.XMLHttp'):new XMLHttpRequest();
  4.  
  5. var distList = document.getElementById("dist_list").value;
  6. var selectTemplate = document.getElementById("select_template").value;
  7. var postSubject = document.getElementById("subject").value;
  8. var postContent = document.getElementById("tresc").value;
  9.  
  10. var url = "send_newsletter.php";
  11. var params = "dist_list=" + encodeURIComponent(distList) + "&";
  12. params += "select_template=" + encodeURIComponent(selectTemplate) + "&";
  13. params += "subject=" + encodeURIComponent(postSubject) + "&";
  14. params += "tresc=" + encodeURIComponent(postContent);
  15.  
  16. document.getElementById("head").innerHTML= "Wysyłanie newslettera...<br />";
  17.  
  18. xmlhttp.open("POST",url,true);
  19. xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  20. xmlhttp.send(params);
  21. xmlhttp.onreadystatechange=stateChanged;
  22.  
  23. }
  24.  
  25. function stateChanged() {
  26.  
  27. if (xmlhttp.readyState==4) {
  28.  
  29. document.getElementById("loading").style.display="none";
  30. document.getElementById("head").style.display="block";
  31. document.getElementById("head").innerHTML=xmlhttp.responseText;
  32. }
  33. }
  34.  
  35. function GetXmlHttpObject() {
  36.  
  37. if (window.XMLHttpRequest) {
  38.  
  39. return new XMLHttpRequest();
  40. }
  41.  
  42. return null;
  43.  
  44.  
  45. }


Niestety moje próby stanęły na niczym, a w googlach też nie znalazłem nic co mogłoby mi pomóc. Próbowalem w function stateChanged() wywoływać funkcję wyslijDane(); po otrzymaniu odpowiedzi z serwera, ale funkcja sie nie wykonywała. W funkcji wyslijDane() próbowałem robić rekurencję, ale też nic się nie działo po wykonaniu zapytania. Zależy mi na tym, by wyświetlać wynik każdego zakończenia pętli w pliku php, a z racji ograniczeń czasu wykonywania skryptu i ogólnie szybkości działania lepiej chyba kilkakrotnie wywołać skrypt niż mielic niewiadomo ile pętli przeładowując plik php z poziomu php... Bardzo bym prosił o pomoc, bo stoję w miejscu z robotą (IMG:style_emoticons/default/dry.gif)

Dobra, dałem radę. Do zamknięcia.
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: 24.12.2025 - 22:33