Aktives Mitglied
Grüss Euch
Muss mich seit Ewigkeiten mal wieder mit JS / Ajax beschäftigen und merke warum ich es nie wirklich gemocht habe^^
Vorne weg: Sollte dieses Thema hier schon durch sein bitte ich um entschuldigung, meine Forensuche hat nichts zurückgegeben. Auch das Durchforsten von gefühlten 3000 google Ergebnissen hat nichts geholfen.
Also. In einer Anwendung (Code unten) erreicht mein Firefox den readyState==4 nie. Im Opera und im IE funktionierts.
Btw. der innerHTML Schnipsel ist auch nur zu Testzwecken.
Hab den Code jetzt so weit wie mgl. runtergebrochen, sind aber leider immer noch 60 Zeilen:
Hat jemand vielleicht spontan ne Idee wie ich das auch im FF zum laufen bekomme? Offenbar scheint es einen Bug im FF was das Readystate handling angeht zu geben, leider war google auch hier nicht wirklich hilfreich.
Edit: Achja, Firefox Version 2.0.0.2
Und: Laut Firbug erhalte ich nach all den alerts auch eine Antwort auf den Request, leider greift der handler dann aber nicht mehr. Hab schon überlegt nen Timer mit einzubaun, aber es muss doch was saubereres geben.
Lieben Dank im voraus
B2B
Muss mich seit Ewigkeiten mal wieder mit JS / Ajax beschäftigen und merke warum ich es nie wirklich gemocht habe^^
Vorne weg: Sollte dieses Thema hier schon durch sein bitte ich um entschuldigung, meine Forensuche hat nichts zurückgegeben. Auch das Durchforsten von gefühlten 3000 google Ergebnissen hat nichts geholfen.
Also. In einer Anwendung (Code unten) erreicht mein Firefox den readyState==4 nie. Im Opera und im IE funktionierts.
Btw. der innerHTML Schnipsel ist auch nur zu Testzwecken.
Hab den Code jetzt so weit wie mgl. runtergebrochen, sind aber leider immer noch 60 Zeilen:
Code:
<html>
<head>
<title>Readystate im Firefox</title>
<script type="text/javascript">
var xmlHttp;
function postRequest(para1,para2,para3)
{
xmlHttp = false;
xmlHttp=GetXmlHttpObject()
if (xmlHttp.overrideMimeType) {
xmlHttp.overrideMimeType('text/xml; charset=utf-8');
}
if (xmlHttp==null){
alert ("Browser does not support HTTP Request");
return;
}
var url="requestPage.php";
url=url+"?getpara1=wert1";
var parameters = "email=";
xmlHttp.onreadystatechange=goToPost;
xmlHttp.open("POST",url,true);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", parameters.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(null);
}
function goToPost()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
document.getElementById("hierRein").innerHTML=xmlHttp.responseText;
alert("readystate 4 erreicht Rueckgabe des Files:"+xmlHttp.responseText);
}else{
alert("readystate 4 nicht erreicht ");
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e){
// Internet Explorer
try{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
postRequest(1,2,3);
</script>
</head>
<body>
<div id="hierRein"></div>
</body>
</html>
Edit: Achja, Firefox Version 2.0.0.2
Und: Laut Firbug erhalte ich nach all den alerts auch eine Antwort auf den Request, leider greift der handler dann aber nicht mehr. Hab schon überlegt nen Timer mit einzubaun, aber es muss doch was saubereres geben.
Lieben Dank im voraus
B2B
Zuletzt bearbeitet: