Toon posts:

[Javascript / AJAX] 2 trage pagina's tegelijk laden

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste tweaker;

Ik zit met een probleem. Ik probeer twee pagina's tegelijk te laden dmv XMLHTTP. Een pagina gaat prima, maar de tweede pagina wordt pas geladen wanneer de eerste klaar is;

code:
1
<body onload="loadXML2('test.asp','div1'); setInterval('loadXML(\'extranet_inschrijven_medewerker_status.asp\', \'div2\')',50)">


Hoe kan ik het nu voor elkaar krijgen dat deze 2 naast elkaar draaien.
Als ik bijvoorbeeld probeer met een onClick loadxml2 aan te spreken en een onload "loadXML" dan stopt loadxml2 en visa versa.... Ik krijg het niet voor elkaar...

Is dit een beveiliging van IE of is het gewoon onmogelijk?

Verwijderd

Sowieso heb je in IE maar twee sockets. Dus als je dan 2 dingen tegelijk met xmlHttp gaat laden komen er geen plaatjes, css, scripts, etc verder meer doorheen. In een body onload maakt dat misschien niet zoveel uit.

Wat je vraag betreft, dat hangt helemaal van de loadXML en loadXML2 functies af. In principe kun je prima meerdere requests tegelijk maken. Ik vermoed dat je in deze functies gebruikt maakt van één globaal xmlHttpRequest object.

  • André
  • Registratie: Maart 2002
  • Laatst online: 11-02 14:19

André

Analytics dude

Weet je ook zeker dat je setInterval wil gebruiken?

Verwijderd

Topicstarter
Bedankt voor jullie reactie's. Het gaat om het volgende stuk script:

JavaScript:
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
40
41
42
43
44
45
46
47
48
49
50
51
52
function loadXML(url, id)


    {
    
    document.getElementById(id).innerHTML='Bezig met laden...';

    x = false;
    if (window.XMLHttpRequest)
        {
        try
            {
            x = new XMLHttpRequest();
            }
        catch (e)
            {
            x = false;
            }
        }
    else if (window.ActiveXObject)
        {
        try
            {
            x = new ActiveXObject("Msxml2.XMLHTTP");
            }
        catch (e)
            {
            try
                {
                x = new ActiveXObject("Microsoft.XMLHTTP");
                }
            catch (e)
                {
                x = false;
                }
            }
        }
    if (x)
        {
        x.onreadystatechange = function()
            {
            if (x.readyState == 4 && x.status == 200)
                {
                document.getElementById(id).innerHTML = x.responseText;
                }
            }
        x.open("GET", url, true);
        x.send(null);
        }
    }

//-->


Lijkt mij een prachtig script. Werkt alleen dus niet als ik het 2x tegelijk wil uitvoeren. Opzich werkt het wel, maar het ene request wacht tot de ander klaar is...

Wat ik wil doen is het volgende;

ik heb een pagina (A), welke een enorm script uitvoert (serverside). dmv een database kan ik volgen waar het script is met uitvoeren. Nu kan ik die database uitlezen tussentijds. Dat wil ik graag met Ajax doen, waardoor ik een -min of meer- realtime inzage heb in het proces. Hiervoor gebruik ik de setInterval functie. Maar ik wil tevens met één enkele Ajax request het grote script aanroepen.

Als ik het grote script naar een iFrame aanroep, werkt het helaas ook niet. Het ajax / xmlhttp request stopt dan met het 'draaien'.

Weten jullie een andere manier om zoiets voor elkaar te krijgen?

In ASP werkt bijv. Response.buffer=false in dit geval niet... :/

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Je zou (klinkt stom) eens FireFox of Opera kunnen gebruiken. Die hebben de beperking van max. 2 sockets niet bij mijn weten... Je maakt iig bij ieder request netjes een nieuw XMLHTTP object aan.

Lijkt me overigens niet het probleem te zijn, maar dan weet je het wel zeker. Als het dan wél werkt, dan zul je dus iets anders moeten verzinnen of niet meer met IE werken ;)

To be honest roep ik verder ook maar wat, ik ben er nog nooit tegen aan gelopen iig.

[ Voor 63% gewijzigd door RobIII op 07-08-2006 19:29 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • OnTracK
  • Registratie: Oktober 2002
  • Nu online
Zorgt die eerste x = false er niet voor dat deze als globale variabele word gezien? (en zo rustig je vorige XMLHttpRequest-object weggooit). Ik ben er even niet zeker meer van hoe dat ook alweer zat met javascript, var, en globale variabelen...

Als je hier nu eens var x = false van maakt.

Not everybody wins, and certainly not everybody wins all the time.
But once you get into your boat, push off and tie into your shoes.
Then you have indeed won far more than those who have never tried.


Verwijderd

Topicstarter
OnTracK schreef op maandag 07 augustus 2006 @ 19:31:
Zorgt die eerste x = false er niet voor dat deze als globale variabele word gezien? (en zo rustig je vorige XMLHttpRequest-object weggooit). Ik ben er even niet zeker meer van hoe dat ook alweer zat met javascript, var, en globale variabelen...

Als je hier nu eens var x = false van maakt.
Oké, ga ik proberen! En IExplorer het raam uit flikkeren heeft geen zin :-) ik ben niet de enige die hier mee moet gaan werken :-). (nice try ;-)).

Eerst eens die variabele uitproberen.

Ik lees overigens op internet dat iexplorer idd een beperking heeft van 2 sockets (oid). Maar dan zou het toch geen probleem moeten zijn neem ik aan? :X

  • --MeAngry--
  • Registratie: September 2002
  • Laatst online: 11-02 16:38

--MeAngry--

aka Qonstrukt

Wat ik hier merk met het gebruik van XMLHTTP in IE 6 is dat IE zowat helemaal vastloopt terwijl deze de data aan het ophalen is, en dat is op een P4 op bijna 3GHz 8)7
De CPU-load springt in ieder geval even naar 100% tot het moment dat de pagina binnen is gehaald.

Tesla Model Y RWD (2024)


Verwijderd

Topicstarter
--MeAngry-- schreef op dinsdag 08 augustus 2006 @ 15:45:
Wat ik hier merk met het gebruik van XMLHTTP in IE 6 is dat IE zowat helemaal vastloopt terwijl deze de data aan het ophalen is, en dat is op een P4 op bijna 3GHz 8)7
De CPU-load springt in ieder geval even naar 100% tot het moment dat de pagina binnen is gehaald.
Wanneer? Als je 'mijn' script uitvoert? Anders is het best wel offtopic volgens mij, en hoop ik dat iemand met een alternatief komt voor mijn script, of wat tips.

Die var x = false werkte btw ook niet :'(
Pagina: 1