2

アプリに CORS が設定されています。サーバー側の REST サービスで、ajax 応答に Cookie の設定を追加しました。これはうまく機能し、CORS サービスへの次の Ajax 要求は Cookie と共に送信されます。

ここで、クライアント側で、これらの設定された Cookie の値を JavaScript から取得/設定したいと考えています。 document.cookiesは、リクエストごとにブラウザーから残りのサービスに送信されますが、空の文字列を返します(これは、それらがどこかに保存されていることを意味します)。

サービスとクライアントの両方を localhost から実行していますが、Cookie セクションの [リソース] タブの Chrome 開発者ツールでは、これらの送信された Cookie は存在しません。

これらの Cookie はどこに保存され、どのようにアクセスできますか?

4

1 に答える 1

5

JavaScript が (Web ページ上で) Cookie を読み取るための唯一のインターフェースはdocument.cookie、現在の HTML ドキュメントの Cookie を含むものです。

クロスドメイン Ajax リクエストを介して設定された Cookie は、現在の HTML ドキュメント用ではないため、そのインターフェイスからは利用できません。

XMLHttpRequest にはgetAllResponseHeaders()メソッドがありますが、Set-Cookieヘッダーはブラウザーによって抑制されるため、ヘッダーが設定されているためアクセスできません。

于 2013-09-12T16:46:08.297 に答える