• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Ajax JavaScript Funktion aufrufen

Phillip Tole

Neues Mitglied
Hallo,
kann mir jemand sagen warum untenstehender Code nicht funktioniert? Irgendwie wird die Funktion interpretRequest nicht aufgerufen. Wie kann ich das machen? Dieser Code:

request.onreadystatechange = new interpretRequest(value, nr, variation);

interpretRequest(value, nr, variation);

...funktioniert nicht.


Komischerweise funktioniert das ganze aber doch, wenn ich unter der Zeile:
function interpretRequest(value, nr, variation) {
alert();

...schreibe, nur das ich dann eben einen unerwünschten Alert drin habe.
Durch diese Zeile:
var nochmal = new setRequest(value.concat('b'), nr, 'b');
...führt er dann wie gewünscht beide Zeilen nochmal mit anderen Werten aus.

Danke für eure Hilfe.







<!--
var request = false;
var nr;
var variation;


function setRequest(value, nr, variation) {
this.request = false;
this.nr = nr;
this.variation = variation;

if (window.XMLHttpRequest) {
request = new XMLHttpRequest(); // Mozilla, Safari, Opera
} else if (window.ActiveXObject) {
try {
request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5
} catch (e) {
try {
request = new ActiveXObject('Microsoft.XMLHTTP'); // IE 6
} catch (e) {}
}
}


if (!request) {
alert("Kann keine XMLHTTP-Instanz erzeugen");
return false;
} else {

var url = "/weiterleitung.php";

request.open('post', url, true);

request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

request.send('name='+value);

request.onreadystatechange = new interpretRequest(value, nr, variation);



}
}


function interpretRequest(value, nr, variation) {

switch (request.readyState) {

case 4:
if (request.status != 200) {
alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
} else {

var content = request.responseText;


if(variation=='a'){
if(nr == 2){


document.getElementById('ergaenz2').innerHTML = content;
}
else if(nr==3){

document.getElementById('ergaenz3').innerHTML = content;
}
else if(nr==4){
document.getElementById('ergaenz4').innerHTML = content;
}
var nochmal = new setRequest(value.concat('b'), nr, 'b');
}

else if(variation=='b')
{
if(nr==2)
{
document.getElementById('reqErgaenz2').innerHTML = content;
}
else if(nr==3){

document.getElementById('reqErgaenz3').innerHTML = content;
}

}

}
break;
default:
break;
}
}

//-->
 
Wo hast du denn das kopiert? :(
Code:
request = new ActiveXObject('Msxml2.XMLHTTP'); // IE 5

So etwas schaue ich mir nicht mal an. Schreibe das Ganze noch mal zeitgemäß mit jQuery Ajax ($.ajax({}) und keine Shorthands) und embedde es in die Code-Tags des Forums.
 
Zurück
Oben