PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AJAX Problem: obj is null!?!


mc-bain
21.10.2009, 17:01:11
Wie im Titel schon erwähnt, bekomme ich folgende Fehlermeldung:

obj is null
Quelldatei: http://localhost/script.js
Zeile: 28

Wenn ich folgende AJAX Request verwende:


var XMLHttpRequestObject = false;

if(window.XMLHttpRequest)
{
XMLHttpRequestObject = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}

function getData(dataSource, divID)
{
if(XMLHttpRequestObject)
{
var obj = document.getElementById(divID);
XMLHttpRequestObject.open("GET", dataSource);

XMLHttpRequestObject.onreadystatechange = function()
{

if(XMLHttpRequestObject.status == 200 && XMLHttpRequestObject.readyState == 4)
{
obj.innerHTML = XMLHttpRequestObject.responseText;
}

}
XMLHttpRequestObject.send(null);

}
}


Das besondere daran ist, dass es beim ersten Mal funktioniert, klicke ich jedoch ein zweites mal und führe wieder einen AJAX request mit der Funktion aus, so geht nichts mehr und ich bekomme "obj is null" in der Fehlerkonsole vom FF.

Als Anmerkung sei gesagt, dass 'divID' meinen Container beinhaltet, indem ich die AJAX Ausgabe reinschreibe und in 'dataSource' befindet sich mein auszuführendes php script.
Die Zeile 28 ist übrigens genau die fett-markierte Zeile.

Kann mir bitte jemand helfen?
Vielen Dank
mc

Indyk
26.10.2009, 13:05:55
Hallo mc-bain,

lass dir bitte per alert den parameter divID ausgeben und schau ob er sich beim zweiten aufruf vom ersten unterscheidet.

mc-bain
28.10.2009, 17:43:54
Danke für die Antwort.
Ich habe den Fehler bereits gefunden, es lag nicht an meiner AJAX funktion, sondern daran, dass 'divID' nach dem ersten Aufruf nicht mehr existierte, weil ein div-element das andere überschrieben hatte. Hatte es versehentlich falsch verschachtelt.

gruß
mc