java ee 5 odświeżanie w internet explorer

Odpowiedz Nowy wątek
2011-07-28 16:26
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.

Pozostało 580 znaków

2011-07-28 16:36
ismail
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.

Pozostało 580 znaków

2011-07-28 16:58
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;
}
 
edytowany 1x, ostatnio: wlochaty7, 2011-07-28 16:59

Pozostało 580 znaków

2011-08-03 10:01
Kamil

sproboj zmienic metode z GET na POST

Pozostało 580 znaków

2011-08-04 10:08
0

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

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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