Heim >Backend-Entwicklung >Golang >Wie behebt man den Fehler „Cross-Origin Request Blocked' in Firefox OS-Apps, die Anfragen an einen Go-Server stellen?
Informationen zu „Cross-Origin-Anfrage blockiert“ in Go- und Firefox OS-Apps
Es tritt ein Problem namens „Cross-Origin-Anfrage blockiert“ auf wenn eine HTTP-Anfrage abgelehnt wird, weil die Zieldomäne nicht mit dem Ursprung der Anfrage übereinstimmt. Dies tritt häufig auf, wenn in Webanwendungen Anfragen über verschiedene Domänen hinweg gestellt werden.
Im bereitgestellten Go-Code versucht der Server, Cross-Origin-Anfragen zuzulassen, indem er den Header „Access-Control-Allow-Origin“ auf „ setzt. *“, wodurch Anfragen von jeder Domain aus möglich sind. Das Problem tritt jedoch weiterhin bei der Firefox OS-Anwendung auf.
Das Problem liegt im JavaScript-XMLHttpRequest-Objekt, das in der Anwendung verwendet wird. Um standortübergreifende Verbindungen ohne CORS zu ermöglichen, muss das „mozSystem“-Flag im XMLHttpRequest-Konstruktor auf true gesetzt werden.
Lösung für Firefox OS App
Im bereitgestellten JavaScript-Code, Ersetzen Sie:
var request = new XMLHttpRequest();
durch:
var request = new XMLHttpRequest({mozSystem: true});
Manifeständerung
Stellen Sie außerdem sicher, dass das Manifest der Anwendung die Berechtigung „systemXHR“ enthält:
"permissions": { "systemXHR" : {}, }
Durch diese Anpassungen wird die Firefox OS-App in der Lage sein, Cross-Origin zu erstellen POST-Anfragen an den Go-Server und rufen Sie die gewünschte Antwort ab.
Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „Cross-Origin Request Blocked' in Firefox OS-Apps, die Anfragen an einen Go-Server stellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!