AVR-NetIO: JavaScript Problem.

Gast #2781160
Lesenswert?

Hallo,

der Aufruf des unten stehenden JavaScript-Programms führt zu dieser 
Fehlermeldung im FireFox:

-------------------------------------------------------------------
Zeitstempel: 04.08.2012 18:44:13
Fehler: uncaught exception: [Exception... "Access to restricted URI 
denied"  code: "1012" nsresult: "0x805303f4 (NS_ERROR_DOM_BAD_URI)" 
location: "file:///C:/GettTmp2.html Line: 27"]
-------------------------------------------------------------------

Das Script habe ich von der Wikipedia 
(http://de.wikipedia.org/wiki/XMLHttpRequest) kopiert.

Die Zeile 27 aus der Fehlermeldung ist mit einem '*' markiert.

Was muss ich ändern, um die Daten vom AVR-NetIO zu bekommen.

mfg

Jürgen


<SCRIPT type="text/javascript">

var xmlHttp = null;
try {
    // Mozilla, Opera, Safari sowie Internet Explorer (ab v7)
    xmlHttp = new XMLHttpRequest();
} catch(e) {
    try {
        // MS Internet Explorer (ab v6)
        xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
    } catch(e) {
        try {
            // MS Internet Explorer (ab v5)
            xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
            xmlHttp  = null;
        }
    }
}
if (xmlHttp) {
    xmlHttp.open('GET', '192.168.0.90/temp.csv', true);
    xmlHttp.onreadystatechange = function () {
        if (xmlHttp.readyState == 4) {
            alert(xmlHttp.responseText);
        }
    };
*   xmlHttp.send(null);
}

</script>
Gast #2781177
Lesenswert?

Hallo,

einen kleinen Schritt bin ich weitergekommen.

Wird die Anweisung "xmlHttp.send(null);" in "xmlHttp.send();" geändert, 
dann geht die Anforderung (siehe unten) zum AVR-NetIO. Leider kommen 
keine Daten zurück.

mfg

Jürgen


**** NEUE HTTP ANFORDERUNG ****

GET /temp.csv HTTP/1.1
Host: 192.168.0.90
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:13.0) Gecko/20100101 
Firefox/13.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Origin: null
DNT: 1
Connection: keep-alive

<---HEADER ENDE ERREICHT!--->
#2781183
Lesenswert?

steht doch in der fehlermeldung: firefox lässt den ajax-call nicht zu, 
weil der auf eine andere domain zeigt (du öffnest die datei lokal und 
versuchst per ajax daten zu laden) -> cross-site-scripting...

mögliche lösungen:
1. einen uralten ie verwenden, der zwar schon ajax unterstützt aber 
gegen cross-domain-probleme nicht sicher ist
2. ein (php)-script dazwischen schalten, das den cross-domain-aufruf 
kapselt
3. es gibt sicher noch mehr lösungen, aber ich will im moment nicht mehr 
besonders viel denken ;-)

p.s.
ein ajax-aufruf kommt selten allein - warum verwendest du keine 
brauchbare bibliothek, die den ganzen browserabhägngigen kram kapselt?
(z.b. mit jquery kannst du je nach formatierung den ganzen 
javascript-block auf ca. 10 zeilen reduzieren - ändert aber nichts an 
deinem problem...)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren