Go および Firefox OS アプリでの「クロスオリジン リクエストのブロック」について
「クロスオリジン リクエストのブロック」として知られる問題が発生する宛先ドメインがリクエストの送信元と同じではないために HTTP リクエストが拒否された場合。これは通常、Web アプリケーションで異なるドメイン間でリクエストを行うときに発生します。
提供された Go コードでは、サーバーは "Access-Control-Allow-Origin" ヘッダーを " に設定することでクロスオリジン リクエストを許可しようとしています。 *」を使用すると、あらゆるドメインからのリクエストが許可されます。ただし、Firefox OS アプリケーションは依然として問題に直面しています。
問題は、アプリケーションで使用される JavaScript XMLHttpRequest オブジェクトにあります。 CORS を使用せずにクロスサイト接続を有効にするには、XMLHttpRequest コンストラクターの「mozSystem」フラグを true に設定する必要があります。
Firefox OS アプリのソリューション
JavaScript コード、 replace:
var request = new XMLHttpRequest();
with:
var request = new XMLHttpRequest({mozSystem: true});
Manifest Modification
さらに、アプリケーションのマニフェストに「systemXHR」権限が含まれていることを確認します。
"permissions": { "systemXHR" : {}, }
これらの調整を行うことで、Firefox OS アプリは次のようになります。 Go サーバーに対してクロスオリジン POST リクエストを作成し、必要な応答を取得できます。
以上がFirefox OS アプリが Go サーバーにリクエストを行うときに発生する「クロスオリジン リクエストがブロックされました」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。