- Angularは、Webアプリケーションを開発するための最良のプラットフォームの1つです。
- 以下の記事は access-control-allow-originヘッダーがありません エラー。
- このテーマに関するその他の問題については、 プログラミングのヒントハブ.
- 私たちのウェブサイトにも 開発ツール専用ページ 同じように。
このソフトウェアは、ドライバーの稼働を維持するため、一般的なコンピューターエラーやハードウェア障害からユーザーを保護します。 3つの簡単なステップで今すぐすべてのドライバーをチェックしてください:
- DriverFixをダウンロード (検証済みのダウンロードファイル)。
- クリック スキャン開始 問題のあるすべてのドライバーを見つけます。
- クリック ドライバーの更新 新しいバージョンを入手し、システムの誤動作を回避します。
- DriverFixはによってダウンロードされました 0 今月の読者。
Angular開発者が日常業務で遭遇する可能性のある最も一般的なエラーメッセージの1つは次のとおりです。 要求されたリソースにaccess-control-allow-originヘッダーがありません.
これは特定のAngularの問題ではなく、CORS(クロスオリジンリソースシェアリング)ヘッダーの問題。 これは、バックエンドサーバーが別のポートまたはドメインで動作するように構成されていることを意味している可能性があります。
Windows 10でアクセス制御なしエラーを修正するにはどうすればよいですか?
1. サーバーレベルで変更を加える
サーバーにアクセスできる場合は、次を追加してCROSリクエストを有効にします Access-Control-Allow-Origin:* ヘッダ。 その後、構成します cors エントリ、下 system.webServer に web.config 以下の例のように、ファイル。
”1.0″? - enabled =「本当」>
- origin =“ https://someorigin.domain.com”>
- メソッド="取得する"/>
- メソッド="頭"/>
- </system.webServer>
ここに、 cors できるようになります 取得する そして 頭 からのリクエスト https://someorigin.domain.com/.
また、使用している場合 IIS(インターネットインフォメーションサービス) ダウンロードする必要があります IISCORSモジュール.
*の代わりにドメインまたはドメインのリストを指定するように注意してください。 そうしないと、サーバーへのクロスオリジンリクエストがどこからでも有効になります。
オン Apache、構成ファイルで、行を追加する必要があります ヘッダーセットAccess-Control-Allow-Origin ‘*’。 繰り返しになりますが、「*」を、リクエストが行われるソースのリストに置き換えることをお勧めします。
2. 独自のプロキシサーバーを実行する
- まず、ルートAngularフォルダーにプロキシ構成ファイルを作成します。 src / proxy.conf.json, その中に次のコードを記述します。
{"/ api":
"目標":" http://localhost: 6000 "、" secure ":false}
}
- 第二に、 angular.jsonファイル、追加 proxyConfigのオプション サーブ 目標:
"サーブ":
{-
"ビルダー":" ",
-
「オプション」:{「proxyConfig」:"src / proxy.conf.json"}
}
- 次に、現在の構成を ngサーブ コマンド。
プロキシサーバーは、リクエストをリモートサーバーに転送します。 次に、プロキシサーバーを構成する方法を見ていきます。
Angularでのデータのリクエストは、次の場所のように、ポート4200でローカルホストへのAPI呼び出しです。
- http://localhost: 4200 / api / datareq。
ただし、上記の例では、要求されたデータは次の場所にあると想定しています。 この場所:
- http://localhost: 6000 / api / datareq。
優れたプロキシソリューションに興味がありますか? 専用ツールのこのリストをチェックしてください
3. Dブラウザで同一生成元ポリシーを使用できます
注意: この特定の方法は、ブラウザ(およびシステム)を重大なセキュリティリスクにさらす可能性があるため、お勧めしません。
他のすべてが機能していない場合は、ブラウザで同一生成元ポリシーを無効にすることをお勧めします。 ただし、ブラウザ(およびシステム)が重大なセキュリティリスクにさらされる可能性があるため、注意が必要です。
にとって グーグルクローム、Windows 10では、管理者としてコマンドプロンプトを開き、次のコマンドを実行します。
C:プログラムファイル(x86)GoogleChromeApplicationchrome.exe "--disable-web-security --disable-gpu --user-data-dir =〜/ chromeTemp。
.
結論として、 要求されたリソースにaccess-control-allow-originヘッダーがありません エラーメッセージはサーバー側の問題です。
Angular開発者の場合、サーバー構成の変更またはプロキシサーバーの使用は問題なく機能するはずです。
以下のコメントセクションで、このガイドについてどう思うか教えてください。
よくある質問
この問題を修正する1つの方法は、プロキシサーバーを使用することです。 プロキシサーバーへの接続に問題がある場合は、こちらを参照してください 完全ガイド.
AngularJSは、オープンソースのJavaScriptベースのフロントエンドWebフレームワークです。 最新バージョンのJavascriptコードについては、 この記事.
サーバーレベルでCORSを有効にし、リクエストを行うドメインを許可されたドメインのリストに追加します。