[解決済み】リクエストヘッダーフィールドのAccess-Control-Allow-Headersが許可されない。
質問
postリクエストでサーバーにファイルを送信しようとしているのですが、送信するとエラーになります。
リクエストヘッダーフィールドの Content-Type は Access-Control-Allow-Headers で許可されていません。
そこで、このエラーをググって、ヘッダーを追加してみました。
$http.post($rootScope.URL, {params: arguments}, {headers: {
"Access-Control-Allow-Origin" : "*",
"Access-Control-Allow-Methods" : "GET,POST,PUT,DELETE,OPTIONS",
"Access-Control-Allow-Headers": "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With"
}
すると、エラーが出ます。
リクエストヘッダーフィールドAccess-Control-Allow-Originは、Access-Control-Allow-Headersで許可されません。
というわけで、ググってみたところ、似たような質問は半分だけ回答があり、その後オフトピックとして閉じられました。どのようなヘッダを追加/削除すればよいのでしょうか?
解決方法は?
その
サーバー
(POSTリクエストの送信先)には
Access-Control-Allow-Headers
ヘッダー
そのレスポンスに
. クライアントからのリクエストにそれらを入れても、何の効果もありません。 POST リクエストから 'Access-Control-Allow-...' ヘッダを削除する必要があります。
これは、クロスオリジンリクエストを受け入れることを指定するのはサーバー次第だからです(そして、そのために
Content-Type
リクエストヘッダなど) - クライアントは、あるサーバーがCORSを許可すべきかを自ら決定することはできません。
リクエスト側(ウェブブラウザ)は、「OPTIONS」リクエスト(つまり、あなたが意図する「POST」や「GET」リクエストではない)を送ることによって、サーバーのSame Origin Policyが何であるかを「プリフライ」テストすることができます。 OPTIONS」リクエストへの応答が、あなたのリクエストが使っているヘッダー、オリジン、メソッドを許可する「Access-Control-Allow-...」ヘッダーを含んでいれば、リクエスター/ブラウザはあなたの「POST」または「GET」リクエストを送信します。
(曖昧な注記:) Access-Control-Allow-...の値は、'Access-Control-Allow-...'です。 は、特定のオリジン、ヘッダー、または許可されるメソッドをリストアップするのではなく、'。 しかし、私が使っていた古いAndroid WebViewクライアントでは、' のワイルドカードを使用し、OPTIONSリクエストのレスポンスにAccess-Control-Allow-Headersヘッダーに記載されている特定のヘッダーを必要としました。
関連
-
[解決済み] テスト
-
[解決済み] Access-Control-Allow-Originヘッダーはどのように機能するのですか?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] Access-Control-Allow-Origin複数オリジンのドメイン?
-
[解決済み] REST APIからデータを取得しようとしたときに、要求されたリソースに'Access-Control-Allow-Origin'ヘッダーが存在しない。
-
[解決済み] プリフライト要求に対する応答がアクセス制御チェックを通過しない
-
[解決済み] アクセスコントロールリクエストヘッダは、jQueryでAJAXリクエストのヘッダに追加されます。
-
[解決済み] CORSです。資格情報フラグが true の場合、Access-Control-Allow-Origin でワイルドカードを使用できない。
-
[解決済み] リクエストヘッダーフィールドAccess-Control-Allow-Headersはプリフライトレスポンスでそれ自身は許可されません。
-
[解決済み】「アクセス制御-許可-オリジン」がない - Node / Apacheのポートの問題
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Facebook Graph API のクエリで with=location を使用すると "Uncaught (in promise) undefined" というエラーが発生する。
-
[解決済み】パッシブイベントリスナー内部でpreventDefaultができない
-
[解決済み】TypeError: $(...).DataTable は関数ではありません。
-
[解決済み】JavaScriptで':'(コロン)は何をするのか?
-
[解決済み】SyntaxError: JSON の位置 1 に予期しないトークン o があります。
-
[解決済み】getElementByIdはnullを返す?[クローズド]
-
[解決済み】React-Routerの子が1つしかない。
-
[解決済み】ES6マップオブジェクトをソートすることは可能ですか?
-
[解決済み】 Uncaught Reference Error: stLight is not defined (in Chrome only)
-
[解決済み] Fetch APIのCORSの問題を解決する方法