ホームページ >バックエンド開発 >Golang >CORS が有効になっているにもかかわらず、Firefox OS アプリで「クロスオリジン リクエストがブロックされました」エラーが発生するのはなぜですか?

CORS が有効になっているにもかかわらず、Firefox OS アプリで「クロスオリジン リクエストがブロックされました」エラーが発生するのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-17 00:13:25944ブラウズ

Why Does My Firefox OS App Get a

XMLHttpRequest 制限によりクロスオリジン リクエストがブロックされました

質問:

Firefox OS アプリから RESTful POST サービスにアクセスしようとすると、バックエンドサーバーが設定しているにもかかわらず、「クロスオリジンリクエストがブロックされました」エラーが発生するHTTP 応答ヘッダーに「Access-Control-Allow-Origin: *」が含まれています。

解決策:

問題は、XMLHttpRequest リクエストを作成する JavaScript コードにあります:

var request = new XMLHttpRequest();

Firefox OS アプリでクロスサイト POST リクエストを行うには、XMLHttpRequest オブジェクトを特権モードで作成する必要があります。 mozSystem の使用:

var request = new XMLHttpRequest({mozSystem: true});

実装の詳細:

  1. mozSystem: mozSystem を true に設定すると、CORS サーバー側の構成を必要とせずにクロスサイト接続が許可されます。ただし、mozAnon: true を設定する必要があります。これにより、Cookie や他のユーザー認証情報の送信が防止されます。この機能は、特権付き (レビュー済み) アプリでのみ使用でき、任意の Web ページでは使用できません。
  2. マニフェスト更新: アプリに必要な権限を付与するには、マニフェストの「権限」に次の行を含めます。セクション:
"permissions": {
       "systemXHR" : {},
}

これらの変更を実装することで、Firefox OS アプリは次のことを行うことができます。 Go サービスへのクロスオリジン POST リクエスト。

以上がCORS が有効になっているにもかかわらず、Firefox OS アプリで「クロスオリジン リクエストがブロックされました」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。