Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sprawdzanie zawartosci zwróconej przez AJAX
Forum PHP.pl > Forum > XML, AJAX
Wilu88
Dopiero zaczynam swoją przygodę z AJAXEM, napisałem prosty skrypt który ma za zadanie sprawdzać nowości w bazie danych. Kod działa ładni, została kwestia kosmetyczna.

Kod wygląda tak:

  1. <script type="text/javascript">
  2. function Ajax()
  3. {
  4. var today = new Date();
  5. var dd = today.getDate();
  6. var mm = today.getMonth()+1;//January is 0!
  7. var yyyy = today.getFullYear();
  8. var hh = today.getHours();
  9. var mm = today.getMinutes();
  10. var ss = today.getSeconds();
  11. if(dd<10){dd='0'+dd}
  12. if(mm<10){mm='0'+mm}
  13. var
  14. $http,
  15. $self = arguments.callee;
  16.  
  17. if (window.XMLHttpRequest) {
  18. $http = new XMLHttpRequest();
  19. } else if (window.ActiveXObject) {
  20. try {
  21. $http = new ActiveXObject('Msxml2.XMLHTTP');
  22. } catch(e) {
  23. $http = new ActiveXObject('Microsoft.XMLHTTP');
  24. }
  25. }
  26.  
  27. if ($http) {
  28. $http.onreadystatechange = function()
  29. {
  30. if (/4|^complete$/.test($http.readyState)) {
  31. document.getElementById('ReloadThis').className='widoczne'
  32. document.getElementById('close-ReloadThis').className='close-widoczne'
  33. document.getElementById('ReloadThis').innerHTML = $http.responseText;
  34. setTimeout(function(){$self();}, 1000);
  35. }
  36. };
  37. $http.open('GET', 'ajax.php' + '?data=<?php echo date("Y-m-d G:i:s"); ?>', true);
  38. $http.send(null);
  39. }
  40.  
  41. }
  42.  
  43. </script>


Problem polega na tym że musze sprawdzić czy wartość $http.responseText jest pusta. Jeżeli tak to wtedy chciałbym pozbyć się wpisów:
document.getElementById('ReloadThis').className='widoczne'
document.getElementById('close-ReloadThis').className='close-widoczne'


Próbowałem zwykły if i sprawdzenie czy $http.responseText != "" ale nie pomaga tak jakby zawsze ta zmienna coś w sobie miała.

Ma ktoś na to pomysł?
matino
Jeśli dopiero zaczynasz, to gorąco polecam Ci framework jquery. AJAXa załatwiasz tam 3ma linijkami smile.gif
pablo_83
tak jak napisał matino jquery wykorzystaj to cała biblioteka która ułatwi i usprawni pisanie.
Co do sprawdzania danych wynikowych to użyj albo konsoli błędów w przeglądarce lub zainstaluj sobie firebug'a bardzo przydatne narzędzie szczególnie przy ajaksie, w konsoli pokazuje Ci wszystko, co wysłałeś, co dostałeś w odp itd.

wszystko mozesz zobaczyć bez "wypluwania" danych na ekran
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.