"Null" ist null oder kein Objekt Fehler im IE javascript
Den folgenden code führt problemlos in Firefox und Chrome, aber mit einem Fehler:
'null' is null or not an object
bei der Ausführung in Internet Explorer.
if (xmlhttp.responseXML != null)
{
var xmlDoc = xmlhttp.responseXML.documentElement ;
var ResultNodes = xmlDoc.getElementsByTagName ("Result") ; <---- error here
if (ResultNodes != null)
{
(Ich hätte gedacht, dass die Zeile nach dem angegebenen mehr wäre wahrscheinlich wieder die Fehlermeldung, aber der debugger sagt, das run-time error ist in der Zeile angegeben)
Irgendwelche Ideen, warum?
InformationsquelleAutor rossmcm | 2010-05-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Probieren Sie etwas wie dies (wie üblich, DH nicht Dinge, die diferently) (aus http://msdn.microsoft.com/en-us/library/ms534370(VS.85).aspx )
und wie verhindern Sie, StackOverflow Umbruch Zeilen in den Kommentaren? - (code sah gut aus, wenn ich tippte es in!)
Oh, Sie müssen entfernen Sie diese Zeile: var xmlDoc = xmlhttp.responseXML.documentElement; rechts vor if (xmlhttp.responseXML.xml) Linie.
Ein paar Zeilen weiter.. var ResultNodes = xmlDoc.getElementsByTagName ("Ergebnis") ; if (ResultNodes != null) { var PayloadNode = xmlDoc.getElementsByTagName ("Payload") ; if (PayloadNode != null) { var ResultText = ResultNodes [0].firstChild.nodeValue ; <-- Objekt erforderlich Inspektion zeigt ResultNodes zu null
InformationsquelleAutor jeanreis
Dachte, ich würde nur wieder melden und meine Ergebnisse, dass ich jetzt alles funktioniert. Die folgenden client-side code (leicht gekürzt und anonymisiert) enthält alle Workarounds, die ich benötigte, um die beschriebenen Probleme in diesem thread und funktioniert unter IE (8.0.6001), FF(3.5.9) und Chrom (5.0.375.55 beta). Trotzdem noch testen, unter älteren Versionen von Browsern. Vielen Dank an alle, die geantwortet haben.
Ich sollte auch hinzufügen, dass ich brauchte, um sicherzustellen, dass die Antwort des Servers erforderlich sind:
damit es funktioniert mit dem IE. FF hat nicht dagegen, wenn die ContentType war text/HTML, aber IE hustete.
Code zum erstellen einer XMLHTTP-Anforderung:
Code zurück, den text-Wert eines Datensatzes Knoten:
Code, um die AJAX-Anfrage:
InformationsquelleAutor rossmcm
Ich habe gerade eine Lösung gefunden für diesen. Stellen Sie die Codierung us-ascii-Zeichen (encoding='us-ascii') in der xml-Datei. Es ist mein problem gelöst.
InformationsquelleAutor Jayantha