Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z IE..
Forum PHP.pl > Forum > XML, AJAX
emitra
  1. var http_request = false;
  2.  
  3. function makeRequest( url, menuItem, id ) {
  4.  
  5. http_request = false;
  6.  
  7.  
  8. if (window.XMLHttpRequest) { // Mozilla, Safari,...
  9. alert ("Mozzila");
  10. http_request = new XMLHttpRequest();
  11. if (http_request.overrideMimeType) {
  12. http_request.overrideMimeType('text/xml');
  13. // Przeczytaj o tym wierszu poniżej
  14. }
  15. } else if (window.ActiveXObject) { // IE
  16. alert ("IE");
  17.  
  18. try {
  19. http_request = new ActiveXObject("Msxml2.XMLHTTP");
  20. } catch (e) {
  21. try {
  22. http_request = new ActiveXObject("Microsoft.XMLHTTP");
  23. } catch (e) {}
  24. }
  25. }
  26.  
  27.  
  28. if (!http_request) {
  29. alert('Poddaję się :( Nie mogę stworzyć instancji obiektu XMLHTTP');
  30. return false;
  31. }
  32.  
  33. var parameters = 'id=' + id;
  34. http_request.onreadystatechange = function() { alertContents(http_request); };
  35. http_request.open('POST', url, true);
  36.  
  37. http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  38. http_request.setRequestHeader("Content-length", parameters.length);
  39. http_request.send( parameters );
  40.  
  41. }
  42.  
  43. function alertContents(http_request) {
  44. if (http_request.readyState == 4) {
  45. if (http_request.status == 200) {
  46. alert (http_request.responseText);
  47. var xmldoc = http_request.responseXML;
  48. var elDocRoot = xmldoc.getElementsByTagName("root")[0];
  49. (...)
  50. (...)
  51. }


I teraz tak pod FF elDocRoot jest Obiektem i dalsze operacje super działają.
Pod IE elDocRoot zwraca NULL. XML jest przesylany poprawnie.

Pilna sprawa z gory dzieki za wszelkie rady
nospor
A czy strona, która zwraca ci tego XML, wysyła nagłówki że to co zwraca to XML? Bo jeśli nie, to IE nie jest taki inteligent by się tego sam domyślić smile.gif
emitra
  1.  
  2. <?xml version="1.0" encoding="ISO-8859-2"?>
  3. ..


Takie cos nie wystarczy zeby bylo na początku pliku biggrin.gif ? Mogl bys powiedziec o jakie konkretnie nagłówki chodzi ?
nospor
  1. <?php
  2. header("Content-type: text/xml; charset=iso-8859-2");
  3. ?>
emitra
dziękuje, działa guitar.gif

Pozdrawiam serdecznie
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.