Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

Ajax probleem i.c.m. Internet Explorer

Pagina: 1
Acties:

Verwijderd

Topicstarter
IK loop tegen een (hopelijk) klein probleem aan met het gebruik van Ajax. Ik heb een button die steeds als er op geklikt wordt een ajax-functie (getHTTPObject) aanroept die op zijn beurt een php bestand aanroept met een bepaalde feedback. In eerste instantie lijkt alles prima te functioneren, tot ik de functie een 2e keer wil uitvoeren zonder refresh. Firefox doet dit zonder protest, maar internet explorer weigert dienst. Pas na een refresh van de pagina voert IE de functie weer 1 keer uit.

Een zoektocht op google heeft mij helaas niets opgeleverd, wellicht dat er hier iemand is die oplossing weet?

dit is de code die ik gebruik:
code:
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
function getHTTPObject() {
    if(window.XMLHttpRequest)
        return new XMLHttpRequest();
    else if(window.ActiveXObject)
        return new ActiveXObject("Microsoft.XMLHTTP");
}

http = getHTTPObject();

function handleReponse() {
    if (http.readyState == 4) {
        document.getElementById('beschik').src = '';
        if (http.responseText == 1) {
            document.getElementById('beschik').src = 'images/up.png';           
        }
        else {
            document.getElementById('beschik').src = 'images/down.png';         
        }

    }
}

function check(domeinnaam){
    http.onreadystatechange = function() { handleReponse() };
    http.open("GET", "includes/chk_domain.php?domain="+domeinnaam, true);
    http.send(null);
}


Mvg,

  • soulrider
  • Registratie: April 2005
  • Laatst online: 27-11-2017
werk ev. eens met een alert van hetgeen je terug krijg....
(of alerts op goede plaatsen om te zien of de functie's nog wel allemaal worden uitgevoerd, en correct worden uitgevoerd.)

(script debudden doen we niet volgens de FAQ, en policy, tips geven tot een oplossing wel)

maw: hoe heb je zelf al proberen te debuggen ?

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

ken de onreadystatechange handler pas toe na de open(). Verder hoef je het niet in een anonymous function te wrappen:

JavaScript:
1
2
3
4
5
function check(domeinnaam){
    http.open("GET", "includes/chk_domain.php?domain="+domeinnaam, true);
    http.onreadystatechange = handleReponse;
    http.send(null);
}

Intentionally left blank


Verwijderd

Topicstarter
crisp schreef op maandag 17 september 2007 @ 21:53:
ken de onreadystatechange handler pas toe na de open(). Verder hoef je het niet in een anonymous function te wrappen:

JavaScript:
1
2
3
4
5
function check(domeinnaam){
    http.open("GET", "includes/chk_domain.php?domain="+domeinnaam, true);
    http.onreadystatechange = handleReponse;
    http.send(null);
}
dat was het! veel dank _/-\o_

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Dat is het meest voorkomende probleem bij hergebruik van een request object instance; IE reset alles bij de 2e open(), inclusief de onreadystatechange handler. Ik snap ook niet waarom heel veel tutorials dit ook steevast verkeerd blijven voorkauwen...

Intentionally left blank