java ee 5 odświeżanie w internet explorer

0

Cześć,

Napisałem sobie prosty układ aktualizujący położenie pojazdów na mapie:
stronka jsp łączy się przy pomocy serwletu z baza danych co jedna minutę (w tle przy użyciu ajax'a)
po zwróceniu wyniku dane są pobierane z pomocą java script i nanoszone na mapę. Problem w tym, że w firefox'ie taki układ działa, a na Internet Explorer nie. Przy pierwszym uruchomieniu dane sa pobierane i nanoszone, aczkolwiek (pomimo, że aktualizacja przy pomocy ajax działa) serwlet pobierający dane z bazy nie jest wykonywany stąd dane na stronce nie są aktualizowane. Nie pojawiają się żadne błędy stąd moja prośba o sugestie co by mogło być przyczyną takiego, a nie innego zachowania.

0

Jak servlet nie jest wywolywany to znaczy pewnie ze ajax jednak nie dziala. A jak ajax nie dziala to pewnie uzywasz zlego JS, ktorego ms nie lyka.

0

i tu się nie zgodzę, gdyż po wykonaniu działania ajax'a prócz wyświetlania wyniku serwleta, jest dodawany czas z java script, który się zmienia stąd śmiem utrzymywać jednak, że ajax działa prawidłowo. Poniżej zamieszczam funkcje ajax'a.


var xmlhttp

function loadContent()
{
 xmlhttp=GetXmlHttpObject();

  if (xmlhttp==null)
  {
   alert ("Twoja strona nie obsługije Ajax HTTP");
   return;
  }

    var url="Manager_aplikacji.html?licznik=2";

    xmlhttp.onreadystatechange=getOutput;
    xmlhttp.open("GET",url,true);
    xmlhttp.send(null);

}

function getOutput()
{
  if (xmlhttp.readyState==4)
  {
      document.getElementById("docs").innerHTML=xmlhttp.responseText;
      var czas = new Date();
      document.getElementById("shortdesc").innerHTML="Czas ostatniej aktualizacji: "+czas;      
  }
  else
  {
      document.getElementById("shortdesc").innerHTML="Proszę czekać...";

  }
}

function GetXmlHttpObject()
{
    var request=false;

    try
    {
        request = new XMLHttpRequest();
    }
    catch(e1)
    {
        try
        {
            request = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e2)
        {
            try
            {
                request = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch(e3)
            {
                request = false;
            }
        }

    }
   
 return request;
}




 
0

sproboj zmienic metode z GET na POST

0

eureka:D wielkie dzięki, to było to:D

1 użytkowników online, w tym zalogowanych: 0, gości: 1