3

angularJS アプリで $resource を使用しています。Cookie は自動的に送信されますか? 同じドメインでリクエストを行っています。

4

3 に答える 3

4

すべての前提条件 (同じドメイン、一致するパス、一致するポート、同じプロトコル、有効期限が切れていないなど) が満たされている限り、ブラウザーは常に (XHR 要求であるかどうかに関係なく) 要求と共に Cookie を送信します。

$resourceサービスは単純な Ajax ラッパーであるため、Cookie が送信されます (すべてが整っている場合) 。

于 2013-08-14T14:14:15.297 に答える
3

いいえ。ただし、Cookie を送信する場合は、$cookiesサービスを試して Cookie を取得し、API を使用してペイロードまたはヘッダーに含めて送信できます。

$cookiesまた、すべての API 呼び出しで Cookie を指定する必要がないように、(サービスが挿入された) デフォルトのヘッダーに Cookie を設定することもできます。

var cookie = $cookies.myCookie; // suppose you already set $cookies.myCookie= 'xxx';
$http.defaults.headers.post.Cookies = cookie;
于 2013-08-14T13:37:40.923 に答える
1

同じドメインで異なるポートを使用して異なるアプリケーションを実行している場合も、Cookie が送信されない理由になる可能性があることに注意してください。

Cookie は (SOP に関して) ポート固有であってはなりませんが、CORS は間違いなくそうです。HTTP Cookie はポート固有ですか?も参照してください。

私の経験では、現在のブラウザー (FF 47、Chrome 51、IE11) は、たとえば、XHR 要求で localhost:3000 から localhost:8080 に Cookie を送信しません。

于 2016-07-06T16:21:24.867 に答える