問題タブ [preflight]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
8080 参照

angularjs - angular.js $resources 設定 Authorization ヘッダー

js

私がやろうとしているのは、サーバーに REST API REQUEST を作成することです。

リクエストは「GET」メソッドで、「Authorization」ヘッダーを含める必要があります。

RESTサーバーと通信する私の工場コードは、この「use strict」のようなものです。

最適な問題はここにあります

ヘッダーを追加すると、メソッドは「GET」ではなく「OPTIONS」に変更されます。CORSのプリフライトに関するものであることがわかりましたが、無効にする方法がわかりませんでした..

だから私はapp.jsで私の設定を変更しようとしました

2番目の問題はここにあります

以下のエラーになります。

「Authorization」ヘッダーを使用して「GET」リクエストを送信するソリューションはありますか? ありがとう

0 投票する
2 に答える
2510 参照

javascript - Access-Control-Allow-Origin が * に設定されている場合でも、複数の OPTIONS リクエストが送信されるのはなぜですか?

API (api.example.com) を作成しましたが、www.example.com からアクセスできるようにし
たいのですが、他のドメインからもアクセスできるようにしたいと考えています。

そのために、Access-Control-Allow-Origin を追加しました: *

しかし、www.example.com を開くと、すべての API リクエストの前にプリフライト リクエスト (OPTIONS リクエスト) が送信され
ます。複数のプリフライト リクエストを停止するにはどうすればよいですか? プリフライト リクエストは 1 つだけであるべきだと思いますが、何が間違っているのでしょうか !!! ? それとも、ブラウザーがすべての呼び出しの前にプリフライト要求を送信する必要があるのは当然ですか?
注: JSONP を一般にアクセス可能にするため、JSONP を使用したくありません Access-Control-Allow-Origin: *

OPTIONS 呼び出しヘッダー

OPTIONS コールレスポンス

GET リクエスト リクエスト ヘッダー

GET リクエストのレスポンス ヘッダー

開発が進むにつれて壊れる可能性があるため、URL を提供したくありませんでしたが。しかし、それが役立つ場合: http://www.touchtalent.biz/home

更新 1:ヘッダー
を削除すると、複数のプリフライト リクエストの作成が停止しました。ただし、このヘッダーを削除すると、oauth の実装が壊れます。カスタムヘッダーを削除せずに、複数のプリフライトリクエストを防ぐ必要があります。どうすればいいのですか ? 更新 2: Access-Control-Max-Age を追加すると、同じリクエストに対してプリフライトが送信されなくなりました。しかし、異なるリクエスト(異なるURL)の場合、複数のOPTIONSリクエストを送信します。Authorization:Bearer VtQJqaTGd7YFb8Mee6GfiLwiRrUdt2iCp9ITuiUE


0 投票する
2 に答える
3663 参照

c# - プリフライト リクエストで、エリア内のコントローラに対して 404 Not Found が返される

WebAPI プロジェクトがあり、次の手順に従って CORS を有効にしました。

  1. nuget パッケージを取得します: Install-Package Microsoft.AspNet.WebApi.Cors.
  2. config.EnableCors();WebApiConfig.cs に追加されました。
  3. [EnableCors(origins: "*", headers: "*", methods: "*")]私のコントローラーに追加されました。

ルートの Controllers フォルダーと、Area 内にコントローラーがあります。

両方のコントローラーに[EnableCors(...)]属性があります。

私の問題は、それだけがValuesController機能することです。

Fiddler を使用してリクエストを検査するOtherStuffControllerと、クライアントがプリフライト OPTIONS リクエストを送信することがわかりますが、サーバーは 200 OK ではなく 404 not found で応答しますが、ValuesController完全に機能します。

私は何を間違っていますか?TestArea 領域のコントローラーが CORS 要求で機能しないのに、Values コントローラーは機能するのはなぜですか?

2 つのコントローラーについては、名前とそれがエリアにあること以外に違いはありません。

追加情報

ルート:

アクション メソッドにアクセスするために使用している URL:

値のリクエスト (作業中):

に続く:

OtherStuff リクエスト (プリライト失敗):

ValuesController.cs

OtherStuffController.cs

0 投票する
1 に答える
4086 参照

google-chrome - Chrome が AJAX リクエストを HTTPS にリダイレクトしないようにするにはどうすればよいですか?

私の AngularJS アプリケーションは、当社のサービス (Jetty を利用) に対して多くの AJAX リクエストを実行しています。何らかの理由で、一部のユーザーにのみ次のエラーが発生し、ブラウザーのキャッシュをクリアするように求められると消えます。これは Google Chrome でのみ発生します

www.domain.com で api.domain.com をリクエストしようとしています。

XMLHttpRequest はhttp://api.domain.com/my-serviceを読み込めません。リクエストは「 https://api.domain.com/my-service 」にリダイレクトされました。これは、プリフライトを必要とするクロスオリジン リクエストでは許可されていません。/現在のページ

Chrome がサービスを HTTP から HTTPS にリダイレクトしようとしていることに注意してください。私のウェブサイトは HTTP または HTTPS 経由でアクセスできます

chrome://net-internals/#events の出力は次のとおりです。

Chromeがそのようなリダイレクトを強制する理由は何ですか? ネットワーク タブに問題はありません。その要求に対して何も戻ってきません。

より詳しい情報:

これは、動作中の Chrome ブラウザーの応答ヘッダーです。

0 投票する
0 に答える
306 参照

cors - ASP.NET Web API: プリフライト要求でクライアント ID を取得する

ASP.NET Web API プロジェクトで CORS を有効にしましたが、プリフライト リクエストを行っているユーザーを識別する方法が必要です。これは、各クライアントに独自の許可されたオリジンがあるためです。

これが私のCorsPolicyProvider見た目です:

私のプリフライト リクエストにはユーザーに関する情報が含まれていないため、これが可能かどうかはわかりません。しかし、これは一般的なシナリオのように思えますね。自分のクレームにアクセスできれば理想的ですが、この時点でユーザーについて何も知らないことは明らかです。私はこれに間違って近づいていますか?

0 投票する
1 に答える
154 参照

javascript - 別のドメインと基本認証を持つサーバーへの ajax POST リクエストを作成することは不可能ですか?

基本認証が必要な別のドメインのサーバーに POST 要求を送信しようとしています。

beforeSend と withCredentials のすべての組み合わせを試しましたが、OPTIONS プリフライト リクエストで基本的な認証ヘッダーが送信されることはありません。

このリクエストを成功させる唯一の方法は、dataType を 'jsonp' に設定するか、リクエストの 'type' を GET に設定することです。

この問題に対する唯一の解決策は、OPTIONS 要求のために別のドメイン サーバーから Basic Auth 要件を削除することですか?

ありがとう。