Ajax kalender laadt niet altijd

Overzicht Reageren

Direct weten hoe jij ervoor staat in de arbeidsmarkt?
Luc Zontrop

Luc Zontrop

15/07/2008 21:03:00
Quote Anchor link
Hey

Ik maak op www.tumbler.be gebruik van een ajax kalender, maar die wordt niet altijd geladen.
Weet er iemand hoe dat kan komen?

Ik gebruik dit script hiervoor:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
var xmlhttp;
function loadPage(url,item)
{
    obj=document.getElementById(item);
       xmlhttp=null;
    if (window.XMLHttpRequest)
      {
          xmlhttp=new XMLHttpRequest();
      }
    else if (window.ActiveXObject)
      {
          xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    if (xmlhttp!=null)
      {
          xmlhttp.onreadystatechange=state_Change;
          xmlhttp.open("GET",url,true);
          xmlhttp.send(null);
      }
    else
      {
          obj.innerHTML=("Je browser ondersteund geen XMLHTTP.");
      }
}

function state_Change()
{
    if (xmlhttp.readyState==4)
      {
          if (xmlhttp.status==200)
        {
        obj.innerHTML=(xmlhttp.responseText);
        }
      else
    {
        obj.innerHTML=("Er is een probleem bij het ontvangen van data.");
    }
  }
}


En in m'n index pagina:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<body onLoad="loadPage('calendar.php','T1')">


De kalender wordt dan geladen in een div met id= T1 en wel zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<div id="T1"><img src="img/loading.gif" width="16" height="16" /></div>


Het kalenderscript wordt dan in die div geplaatst, maar zoals ik al zei niet altijd. :(

Edit: indien je wil inloggen: login & paswoord = phphulp
Gewijzigd op 01/01/1970 01:00:00 door Luc Zontrop
 
PHP hulp

PHP hulp

20/06/2013 12:45:32
 
GaMer B

GaMer B

15/07/2008 21:37:00
Quote Anchor link
Van de 50 keer dat ik op F5 drukte, laadde de kalender gewoon normaal. Zie geen problemen...
 
Luc Zontrop

Luc Zontrop

15/07/2008 21:39:00
Quote Anchor link
En toch doet ie t niet altijd :)
 
Crispijn -

Crispijn -

15/07/2008 21:41:00
Quote Anchor link
browser specifiek?

en waarom laad je om de secode het aantal leden online? Misschien een beetje overbodig?
 
J A

J A

15/07/2008 21:49:00
Quote Anchor link
Hier doet hij het ook gewoon goed, in firefox duurde het wat langer voordat het kwam (2 seconden), maar hij kwam wel.

Om de 1 minuut kan je wel een request doen voor je online leden, maar elke seconde is overbodig ..
 
Luc Zontrop

Luc Zontrop

15/07/2008 21:53:00
Quote Anchor link
Is nog maar een testmode he :)
Crispijn: ik test ze in firefox en IE, in beide heb ik het probleem
 
Crispijn -

Crispijn -

15/07/2008 21:58:00
Quote Anchor link
Ik heb geen problemen hier...
 
J A

J A

15/07/2008 22:07:00
Quote Anchor link
Misschien zou je anders eens moeten proberen een ajax request te doen met een libary, zoals mootools ...
 
Karl Karl

Karl Karl

15/07/2008 23:09:00
Quote Anchor link
Hier in Opera was ie de eerste keer niet, tweede keer wel, derde keer ook, enzovoort...
 
Emmanuel Delay

Emmanuel Delay

15/07/2008 23:17:00
Quote Anchor link
Als je het online zet, maak daar dan van
"Je browser ondersteunt geen XMLHTTP." (met t)

Verder zie ik het nut nog niet precies.
Je doet een request bij het laden. Mocht je de kalender oproepen bij onClick (of zo), zou het zinniger zijn.

Alles wat je kan weergeven bij het laden van de pagina kan je beter in php regelen.

Verder werkt dit bij mij wel zoals het hoort.

Ajax betekent asynchroon een request uitvoeren. Terwijl je dus je pagina al geladen hebt, kan je bv. iets laten valideren, zonder dat de pagina herladen wordt.



EDIT: okay, ik zie waar je naartoe wil.

Wel 1 ding: misschien zou je beter bij onLoad eerst via een andere functie gaan, die met een kleine vertraging (timeout) loadPage aanroept.
document.getElementById werkt pas nadat alles goed geladen is. Misschien wordt de functie soms iets te vlug uitgevoerd.
Gewijzigd op 01/01/1970 01:00:00 door Emmanuel Delay
 
Luc Zontrop

Luc Zontrop

16/07/2008 06:47:00
Quote Anchor link
Quote:
okay, ik zie waar je naartoe wil.

Ik vermoed dat je daarmee bedoelt dat je naar de volgende en vorige maand kan :)
Dus ja, ik moest de kalender via onload aanroepen.
Dat met die timeout zal ik eens uitproberen dan

Thanks
 
GaMer B

GaMer B

16/07/2008 10:13:00
Quote Anchor link
Ik zou overigens de kalender bij DOM:loaded pas ophalen. De pagina is geladen en dan wordt de kalender ook geladen.
 



Overzicht Reageren