Ajax InternetExplorer muckt
Goodjee
- javascript
Folgender Code funktioniert leider nur mit Firefox, sobald man ein neben dem script liegendes xmlfile öffnen will blockirt der ie.
<script type="text/javascript">
var selectv=0;
var page=1;
function ajaxObject(url)
{
var xmlHttp;
try
{
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Your browser does not support AJAX!");
return false;
}
}
}
xmlHttp.onreadystatechange=function update()
{
if(xmlHttp.readyState==4)
{
var xml=xmlHttp.responseXML.documentElement;
switch(xml.getElementsByTagName("type")[0].childNodes[0].nodeValue)
{
case "vote":
loadQuestion(xml);
break;
case "content":
loadContent(xml);
break;
default:
alert(xml.getElementsByTagName("type")[0].childNodes[0].nodeValue);
break;
}
}
}
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
Habe ein ähnliches problem, daher poste ich einfach mal auch hier.
alert(XMLHTTP.getAllResponseHeaders()); liefert garnichts (also "" - und nicht null oder ähnliches)
var xml = XMLHTTP.responseXML;
var category = xml.getElementsByTagName("category");
alert(category.length); // --> liefert 0
alert(XMLHTTP.responseXML); // --> liefert [object]
allerdings liefert:
alert(XMLHTTP.responseText);
die komplette XML-File in einer alertbox. jemand eine idee was falsch sein kann?
Hi,
var xml = XMLHTTP.responseXML;
var category = xml.getElementsByTagName("category");
alert(category.length); // --> liefert 0allerdings liefert:
alert(XMLHTTP.responseText);die komplette XML-File in einer alertbox. jemand eine idee was falsch sein kann?
Du hast vermutlich die XML-Ressource nicht mit einem passenden Content-Type-Header ausliefern lassen, so dass sie als normaler Text betrachtet wird. Und Text hat nun mal keine "Elements", auf die irgendwie zugegriffen werden koennte - Text ist von Anfang bis Ende "ein Stueck".
MfG ChrisB
Hi,
Folgender Code funktioniert leider nur mit Firefox, sobald man ein neben dem script liegendes xmlfile öffnen will blockirt der ie.
Und "blockiert" heisst was ...?
seufz
xmlHttp.onreadystatechange=function update() { ... }
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
Mal andersherum probiert - erst open, dann readystatehandler setzen, und dann send-en?
MfG ChrisB