Ich arbeite mit meinem Raspberry Pi. Ich habe meine Raspberry Pi, die auf der IP: 192.168.X.X/file.json geben Sie mir eine Webseite mit Daten in JSON. Während eine Webseite zu bauen versucht, die mit dem folgenden Code in die Seite anfordert:Kein 'Access-Control-Allow-Origin'-Header ist auf der angeforderten Ressource vorhanden, wenn Sie versuchen, eine Verbindung zu Raspberry
$.getJSON('http://192.168.X.x:8080/file.json', function(data) {
//code }
Es gibt die einen Fehler im Browser:
XMLHttpRequest nicht http://192.168.X.X:8080/file.json laden kann. Kein 'Access-Control-Allow-Origin'-Header ist auf der angeforderten Ressource vorhanden. Ursprung 'http://localhost:8080' ist daher nicht erlaubt.
Können Sie mir sagen, wie ich es beheben kann? Und wo den Code setzen, um es zu beheben?
Dies ist ein CORS-Problem: https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS Sie müssen die folgenden Header hinzufügen: 'Access-Control-Allow-Origin: *', 'Access-Control-Allow -Methoden: * 'auf die Antwort Ihres Servers (' * 'ist für Dev-Zwecke, sollten Sie die Domäne in Produktion anfordern). Welche Servertechnologie verwenden Sie? – cl3m
Der Browser möchte nicht, dass die aktuelle Webseite mit anderen Webseiten kommuniziert. Sie erhalten diesen Fehler nicht, wenn Sie das JavaScript ausgeführt haben, während sich Ihr Browser bereits auf einer Seite befindet, die von Ihrem Raspberry Pi gehostet wird. Sie können die Seite entweder so gestalten, dass sie von anderen Webseiten aus zugreifbar ist (CORS, wie oben erwähnt), oder Sie können das JavaScript auf einer HTML-Seite auf dem Raspberry Pi hosten, wodurch Sie dieses Problem auch während der Entwicklung kennenlernen Dein JS. – LinuxDisciple