[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
質問
<ブロッククオート
モッドノート
: この質問は、「なぜ
XMLHttpRequest
/
fetch
ブラウザ上の/etc.はSame Access Policyの制限を受けますが(CORBやCORSに言及したエラーが出ます)、Postmanはそうではありません。この質問は
ではなく
No 'Access-Control-Allow-Origin'..." エラーを修正する方法についてです。なぜこのようなエラーが発生するのかについてです。
投稿を中止してください :
- あらゆる言語/フレームワークのCORS設定。代わりに 該当する言語/フレームワークの質問を探す .
- CORS を回避するリクエストを許可するサード パーティ製サービス
- 各種ブラウザのCORSをオフにするコマンドラインオプション
を使用して認証を行おうとしています。 JavaScript に接続することで RESTful API 組み込み フラスコ . しかし、リクエストを行うと、以下のようなエラーが発生します。
XMLHttpRequest は http://myApiUrl/login を読み込むことができません。要求されたリソースに 'Access-Control-Allow-Origin' ヘッダーが存在しません。したがって、オリジン 'null' はアクセスを許可されていません。
APIやリモートリソースがヘッダを設定しなければならないのはわかるのですが、Chromeの拡張機能を使ってリクエストしたときにうまくいったのはなぜでしょうか。 ポストマン ?
これがリクエストコードです。
$.ajax({
type: 'POST',
dataType: 'text',
url: api,
username: 'user',
password: 'pass',
crossDomain: true,
xhrFields: {
withCredentials: true,
},
})
.done(function (data) {
console.log('done');
})
.fail(function (xhr, textStatus, errorThrown) {
alert(xhr.responseText);
alert(textStatus);
});
解決方法は?
私の理解が正しければ、あなたは XMLHttpRequest を、あなたのページとは異なるドメインに送信します。そのため、ブラウザはセキュリティ上の理由から、通常は同じオリジンでのリクエストを許可するため、ブロックしているのです。クロスドメインリクエストを行いたい場合は、別の方法を取る必要があります。それを実現する方法についてのチュートリアルは CORSを利用する .
Postmanを使用しているときは、このポリシーの制限を受けません。引用元 クロスオリジン XMLHttpRequest :
<ブロッククオート通常の Web ページは、XMLHttpRequest オブジェクトを使用してリモート サーバーとデータを送受信することができますが、同じオリジン ポリシーによって制限されています。拡張機能はそれほど制限されていません。拡張機能は、最初にクロスオリジンのパーミッションを要求する限り、オリジン以外のリモートサーバと通信することができます。
関連
-
[解決済み】このエラーの原因は何ですか - "Fatal error: ローカルgruntを見つけることができません"
-
[解決済み】Uncaught ReferenceError: angular is not defined - AngularJSが動作しない。
-
[解決済み】React、Uncaught ReferenceError。ReactDOMは定義されていません
-
[解決済み] Access-Control-Allow-Originヘッダーはどのように機能するのですか?
-
[解決済み] XMLHttpRequestが読み込めない XXX 'Access-Control-Allow-Origin' ヘッダがない
-
[解決済み] REST APIからデータを取得しようとしたときに、要求されたリソースに'Access-Control-Allow-Origin'ヘッダーが存在しない。
-
[解決済み] OPTIONSルートにCORSヘッダを追加しても、ブラウザが私のAPIにアクセスできないのはなぜですか?
-
[解決済み] プリフライト要求に対する応答がアクセス制御チェックを通過しない
-
[解決済み] file:// URLから実行されるアプリケーションのリクエストで、"Origin null is not allowed by Access-Control-Allow-Origin" エラーが発生する。
-
[解決済み】リクエストヘッダーフィールドのAccess-Control-Allow-Headersが許可されない。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Heroku:ノードアプリで「このアプリにはデフォルトの言語が検出されませんでした」エラーがスローされる
-
[解決済み】Javascript:getElementById対getElementsById(両方が別のページで動作する)。
-
[解決済み】フォームコントロールの値アクセサがない
-
[解決済み] jQueryで、ユーザーがそのフィールドを編集している間、テキストフィールドの最初の文字を大文字にするにはどうすればよいですか?
-
[解決済み】webpack-dev-serverにリモート接続すると、「Invalid Host header」というメッセージが表示されます。
-
[解決済み] React with ES7: Uncaught TypeError: Cannot read property 'state' of undefined [duplicate] (未定義のプロパティ'state'を読み込むことはできません。
-
[解決済み] エラー。モジュールhtmlが見つからない
-
[解決済み】JavaScriptで相対URLへのリダイレクトを行う
-
[解決済み】未定義のプロパティ 'forEach' を読み取ることができない
-
[解決済み】module.exports "モジュールが定義されていません"