Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Błąd w IE
Forum PHP.pl > Forum > XML, AJAX
emil1
Witam,

Napisałem prostą stronkę która wyświetla dane z pliku xml. Strona ta działa prawidłowo na FF i Operze ale na Internet Exporerze niestety nie. Poniżej znajduje się kod mojej strony oraz plik xml.

  1. <script type="text/javascript">
  2.  
  3. var xmlHttp;
  4.  
  5. function getData()
  6. {
  7.  
  8. try
  9. { // Firefox, Opera 8.0+, Safari
  10. xmlHttp=new XMLHttpRequest();
  11. xmlHttp.overrideMimeType("text/xml");
  12. }
  13. catch(e)
  14. { // Internet Explorer
  15. try
  16. {
  17. xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  18. }
  19. catch(e)
  20. {
  21. try
  22. {
  23. xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  24. }
  25. catch(e)
  26. {
  27. alert("Your browser does not support AJAX!");
  28. }
  29. }
  30. }
  31. }
  32.  
  33.  
  34. function funkcja()
  35. {
  36. if(xmlHttp)
  37. {
  38. xmlHttp.open("get","plik1.xml");
  39. xmlHttp.send(null);
  40.  
  41.  
  42. xmlHttp.onreadystatechange = function an()
  43. {
  44. if(xmlHttp.readyState==4)
  45. {
  46. var xmlDocument = xmlHttp.responseXML;
  47.  
  48. var dane = xmlDocument.getElementsByTagName("pozycja");
  49.  
  50. document.getElementById("p").innerHTML = dane[0].firstChild.data;
  51.  
  52. }
  53. if (xmlHttp.readyState != 4)
  54. {
  55. document.getElementById("d").innerHTML ='Ładowanie zawartości - proszę czekać...';
  56. }
  57. }
  58. }
  59. }
  60.  
  61.  
  62. <body onload='getData()'>
  63. <form>
  64. <input type = "button" value = "Pobierz wiadomość" onclick="funkcja()">
  65. </form>
  66. <div id="p">
  67. <p> tekst </p>
  68. </div>
  69. <div id="d">
  70. <p> tekst</p>
  71. </div>
  72. </body>
  73. </html>


  1. <?xml version="1.0"?>
  2. <data>
  3. <pozycja>tekst z xml'a</pozycja>
  4. </data>


Z góry dziękuje za wszystkie sugestie.
Hyena
Cytat(emil1 @ 18.01.2010, 17:57:19 ) *
Witam,

Napisałem prostą stronkę która wyświetla dane z pliku xml. Strona ta działa prawidłowo na FF i Operze ale na Internet Exporerze niestety nie. Poniżej znajduje się kod mojej strony oraz plik xml.

  1.  
  2. xmlHttp.open("get","plik1.xml");
  3. xmlHttp.send(null);
  4.  
  5.  
  6. xmlHttp.onreadystatechange = function an()


Z góry dziękuje za wszystkie sugestie.


Pierwsza uwaga - masz pewien błąd - przypisujesz zdarzenie po wykonaniu metody send. Może się tak zdarzyć, że wykonasz send. Send zrobi swoje zadanie, ale nie zadziała onreadystatechange, bo przypisujesz później. Spróbuj zamienić kolejnościami send i onreadystatechange biggrin.gif

Nie wiem, czy to coś pomoże, ale nie powinno się takich rzeczy w każdym języku robić.
emil1
tak właśnie miałem na początku, ale zmieniłem ponieważ znalazłem jakiś przykład w którym właśnie tak było. Niestety wcześniej tez na IE nie dizałało więc nie o to chodzi ale dziękuje za uwagęsmile.gif
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.