Hallo,
ich steh mal wieder total auf dem Schlauch.
Meine Funktion ruft eine andere Funktion auf, die einen Return Wert zurückgibt. Abhängig von diesem Returnwert funktioniert alles andere.
Diese aufgerufene Methode sieht mit dem Return Wert so aus:
- Wenn ich in die IF Schleife gehe, dann funktioniert alles einwandfrei. Der Returnwert ist soweit richtig.
- Wenn ich in die Else Schleife gehe, dann ist der Returnwert auch korrekt, aber meine Funktion läuft nicht mehr, wie zuvor?! Obwohl die Returnwerte identisch sind?!
Ist es wegen der Verschachtelung durch Ajax?
ich steh mal wieder total auf dem Schlauch.
Meine Funktion ruft eine andere Funktion auf, die einen Return Wert zurückgibt. Abhängig von diesem Returnwert funktioniert alles andere.
Diese aufgerufene Methode sieht mit dem Return Wert so aus:
- Wenn ich in die IF Schleife gehe, dann funktioniert alles einwandfrei. Der Returnwert ist soweit richtig.
- Wenn ich in die Else Schleife gehe, dann ist der Returnwert auch korrekt, aber meine Funktion läuft nicht mehr, wie zuvor?! Obwohl die Returnwerte identisch sind?!
Ist es wegen der Verschachtelung durch Ajax?
Code:
function savedPlace() {
//hier getcookie überschreiben
if(bookmarkID=="" || bookmarkID==null){
var locus = {
componentId: getCookie('component'),
percent: getCookie('percent')
}
if (locus.componentId && locus.percent) {
locus.componentId = decodeURIComponent(locus.componentId);
locus.percent = parseFloat(locus.percent);
alert(locus.percent);
return locus;
} else {
return null;
}
}
else{
var comp;
var per;
//getBookmarkDescription(bookmarkID);
// Request erzeugen
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) {}
}
}
// überprüfen, ob Request erzeugt wurde
if (!request) {
alert("Kann keine XMLHTTP-Instanz erzeugen");
return false;
}
else {
request.open('get', "../../../readerFunction/getBookmarkCookieDesc.php?bm="+bookmarkID, true);
request.send(null);
request.onreadystatechange = function interpret(){
if(request.readyState =="4"){
if(request.status !=200){
//alert("Der Request wurde abgeschlossen, ist aber nicht OK\nFehler:"+request.status);
}
else{
var jsonDescription = request.responseText;
object = JSON.parse(jsonDescription);
comp = object[0].comp;
per = object[0].per;
}
var locus = {
componentId: comp,
percent: per
}
locus.componentId = decodeURIComponent(locus.componentId);
locus.percent = parseFloat(locus.percent);
return locus;
}
};
}
}
}