Ich habe ein Problem mit einem XMLHttpRequest in Javascript. In Firefox und IE funktioniert dieser Wunderbar, aber in Chrome und Safari nicht.
Leider bracht mir Google keine brauchbaren Lösungen.
Hier das Script:
Kann mir jemand helfen, warum funktioniert der HttpRequest in Chrome und Safari nicht?
Leider bracht mir Google keine brauchbaren Lösungen.
Hier das Script:
Code:
//Global var req_fwurl; var req_button; function func1(){ var fw_id=document.forms.fwdw.elements.url.value; document.getElementById("button").innerHTML='Der Download öffnet sich in einem neuem Fenster...'; window.open('/wp-content/plugins/xyz/download.php?id='+fw_id); } function func2(){ document.getElementById("button").innerHTML='Wird geladen...'; if(document.forms.fwdw.list.options[0].value=="select"){ document.forms.fwdw.list.options[0]=null; } var fwid=document.forms.fwdw.list.options[document.forms.fwdw.list.selectedIndex].value; req_button=GetXmlHttpObject(); if (req_button==null) { alert ("Dein Browser unterstützt keine HTML-Anfragen.."); return; } var url="/wp-content/plugins/xyz/ajax-button.php"; url=url+"?url="+fwid; url=url+"&sid="+Math.random(); req_button.onreadystatechange=stateChanged2; req_button.open("GET",url,true); req_button.send(null); } //Submit-Button anzeigen , AJAX antwort function stateChanged2(){ if (req_button.readyState==4){ document.getElementById("button").innerHTML=req_button.responseText; } } //Funktion Ger�t aktualisiert--> function change_device(){ //Firmware zur�cksetzen, Button entfernen document.getElementById("list").innerHTML='Wird geladen...'; document.getElementById("button").innerHTML=null; //Wenn Bitte w�hlen, Element l�schen if(document.forms.fwdw.device.options[0].value=="select"){ document.forms.fwdw.device.options[0]=null; } //Ausgew�hltes Device ermitteln var device=document.forms.fwdw.device.options[document.forms.fwdw.device.selectedIndex].value; //AJAX-Request(Firmware-Auswahl) req_fwurl=GetXmlHttpObject(); if (req_fwurl==null) { alert ("Dein Browser unterstützt keine HTML-Anfragen. Bitte kontaktiere den BENM.AT Support."); return; } var url="/wp-content/plugins/xyz/ajax-url.php"; url=url+"?device="+device; url=url+"&sid="+Math.random(); req_fwurl.onreadystatechange=stateChanged; req_fwurl.open("GET",url,true); req_fwurl.send(null); } //Firmware Feld aktualisieren, Formular anzeigen , AJAX antwort function stateChanged(){ if (req_fwurl.readyState==4){ document.getElementById("list").innerHTML=req_fwurl.responseText; } } function GetXmlHttpObject() { if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari return new XMLHttpRequest(); } if (window.ActiveXObject) { // code for IE6, IE5 return new ActiveXObject("Microsoft.XMLHTTP"); } return null; }
Kommentar