Wandeln von Objekt in Zahl
Michael Segin
- javascript
0 molily
Hallo,
habe leider immer noch das gleiche Problem. Aber vielleicht erst mal ein Programm.
<html>
<head>
<title>Ajax</title>
<script type="text/javascript">
var http = null;
var zahl = 0;
var aktiv = window.setInterval("anfrage()", 1000);
if (window.XMLHttpRequest)
{ http = new XMLHttpRequest();
}
else
{ if (window.ActiveXObject)
{ http = new ActiveXObject("Microsoft.XMLHTTP");
}
}
function anfrage()
{ if (http != null)
{ http.open("GET", "datei.xml", true);
http.onreadystatechange = ausgeben;
http.send(null);
}
}
function ausgeben()
{ if (http.readyState == 4)
{ document.getElementById("Ausgabe").innerHTML = http.responseText;
}
}
</script>
</head>
<body>
<h1>HTML vom Server:</h1>
<div id="Ausgabe"></div>
</body>
</html>
Die Datei "datei.xml" ohne SSI
<p>11111</p>
und mit SSI
<p><!--#READPI ADR=IW30&FORMAT=%d--></p>
So oder ähnlich sehen wohl alle AJAX Programme aus.
Läuft auch ohne Probleme und gibt immer eine Zahl aus.
Entweder „11111“ oder mit SSI „0-65536“.
Und nun mein Problem. Ich möchte das Ergebnis meiner XML-Datei in eine Zahl umwandeln. Mit „x = parseInt(http.responseText);“ kommt nur „NaN“ zurück.
Vielleicht weiss Jemand was ich falsch mache. Auf jeden Fall vielen Dank.
Michael Segin
<p><!--#READPI ADR=IW30&FORMAT=%d--></p>
Mit „x = parseInt(http.responseText);“ kommt nur „NaN“ zurück.
Klar, weil in responseText der String »<p>11111</p>« steht. In eine Zahl umwandeln ließe sich höchstens der Teil »11111«.
Wenn du nur eine Zahl übergeben willst, so lasse das <p> und </p> weg. Oder entferne es mit JavaScript, sodass nur die Zahl darin übrig bleibt.
Mathias