• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Req.status = 200 funktioniert beim Safari nicht

Rasmus

Neues Mitglied
Hallo.
Ich möchte von meinem Webserver einen Wert neu nachladen.
Hierzu:

HTML:
objSchalter_1.Req.onreadystatechange = handleReqChange;  //Wenn sich der Status der Anfrage ändert.
objSchalter_1.Req.open("GET",objSchalter_1.url, true);
objSchalter_1.Req.send("");

Die Funktion handleReqChange() wird aufgerufen.

HTML:
function handleReqChange()
{

    if(objSchalter_1.Req.readyState == 4)
    {

        if (objSchalter_1.Req.status == 200)  //Anfrage ist komplett beantwortet und es ist kein Fehler aufgetreten.
        {
       
            response = objSchalter_1.Req.responseXML.documentElement;
            result = response.getElementsByTagName('Schalter_1')[0].firstChild.data;
            //Daten einsetzen.
            document.getElementById('Schalterstellung').innerHTML = 'Schalterstellung1: ' + result ;
            
           setTimeout ("newSchalterabfrage('schalter.xml')", 500);            
        }
        else
        {
            alert("Beim Empfangen der XML Daten ist ein Fehler aufgetreten\n" + objSchalter_1.Req.statusText);    
        }
        
             
    }
}

In dieser Funktion wechselt dann auch "Req.readyState" auf 4, aber "Req.status" bleibt 0.
Das passiert aber nur im Safari, wobei ich hier bisher nur den auf dem iPhone getestet habe (morgen wird auf dem PC Safari installiert und getestet).

Im IE funktioniert es und "Req.status" ist 200.

Weiß hier jemand weiter?


Gruß
Rasmus
 
Im Iphone(Ipad) laufen einige Dinge anders. Entweder du liest dich bei Apple durch die Developer API oder du nutzt gleich JQuery.
 
Naja, eine Null im status kann auch jQuery nicht beseitigen. Dieses Problem tritt normalerweise auf, wenn das Skript nicht mit einem Server aufgerufen wird, aber auch im Firefox. Und soweit ich das recherchiert habe, sendet auch Safari auf dem iDings einen status = 200 bei Erfolg.
 
Hallo.
Danke für die Antworten.
Das wurde gegen den Server getestet.
Der Server läuft auf ein Mikrocontroller und ist über WLAN zu erreichen. Über mein Laptop mit IE funktioniert die Seite. Sobald ich die Seite mit dem iPhone abfrage bekomme ich die 0 als Antwort. Somit gehe ich mal davon aus, dass die Seite funktioniert und der Fehler in der Verarbeitung beim Safari liegt. Werde morgen auf der Arbeit mal auf dem Laptop den Safari installieren. Mal schauen ob da auch der Fehler auftritt.

Gruß
Rasmus
 
Ich mein den NSURL Request.
Die URLs werden anders behandelt beim IoS.

Zudem muss die Anwtort innerhalb 5 Sekunden erfolgen. Steht aber alles in den Developer Guides von Apple. Will jetzt aber nicht alles im Detail raussuchen und übersetzen.
 
Ich verstehe nicht, was das mit der Frage zu tun hat?
Bei dem einen geht es um "UIWebView", was immer das ist und die Apple Seiten haben auch nichts direkt mit Javascript zu tun (da geht es um ein Objective-C Framework). Kannst du mehr aus der Frage lesen als ich? Geht es um irgendeine spezielle iPod Anwendung?
 
Hallo.
So, war letzte Woche dann krank und konnte erst jetzt wieder.
Danke für die Antworten.

Ich habe inzwischen mal den Safari auf dem Laptop installiert.
Hier geht es, nur mit dem iPhone nicht ---- Dachte ich, nun habe ich es noch mal getestet und es geht.
Nun werden alle sagen, da ist was geändert worden. Nein, einfach nur eingeschaltet.

Ich danke für die Hilfestellungen.

Gruß
und frohes Fest
Rasmus
 
Zurück
Oben