Cross-Origin 요청 차단됨: Firefox OS 문제 해결
브라우저가 요청을 제한할 때 "Cross-Origin Request Blocked" 오류가 발생합니다. 보안 문제로 인해 출처가 다릅니다. Firefox OS 앱의 맥락에서 이 문제를 해결하려면 Go 백엔드와 JavaScript 코드를 모두 수정해야 합니다.
Go 백엔드 수정:
다음 사항을 확인하세요. Go 핸들러는 "Access-Control-Allow-Origin" 헤더를 "*"로 설정하여 모든 요청을 허용합니다. 출처:
func handleMessageQueue(w http.ResponseWriter, r *http.Request) { w.Header().Set("Access-Control-Allow-Origin", "*") // ... remainder of the code }
JavaScript 수정:
1. mozSystem 사용:
XMLHttpRequest 객체를 생성할 때 "mozSystem" 플래그를 true로 지정합니다:
var xhr = new XMLHttpRequest({mozSystem: true});
2. 매니페스트에 권한 추가:
Firefox OS 앱 매니페스트에서 "권한" 아래에 "systemXHR" 권한을 추가하세요:
"permissions": { "systemXHR" : {}, }
설명:
mozSystem은 서버의 CORS 허가 없이 사이트 간 연결을 허용합니다. 그러나 Firefox App Store의 검토 프로세스를 통과한 권한 있는 앱에만 사용할 수 있습니다. 매니페스트의 "systemXHR" 권한을 통해 앱에서 mozSystem을 사용할 수 있습니다.
이러한 변경을 수행하면 Firefox OS 앱이 Go 백엔드에 대한 출처 간 요청을 시작하고 필요한 응답 데이터를 받을 수 있게 됩니다. 동일 출처 정책에 의해 차단되지 않습니다.
위 내용은 Firefox OS 앱에서 'Cross-Origin Request Blocked' 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!