2017-03-13 14 views
0

最初のhttpリクエストでクッキーを設定する方法はありますか?角度:httpリクエストでクッキーを設定する

意味、私はURLを呼び出して、同時にクッキーを設定したいと思います。これについてどうやって行くのか分かりませんか?ありがとうございました

更新:私はクロスドメインではなく、新しいタブでサブドメインしています。

+0

クロスドメインリクエストを行っていますか? – mehulmpt

+0

良い点、私は質問を更新しました - ありがとう – Thibs

+0

初期HTTPリクエストとは、AngularJSフレームワーク(テンプレートの読み込みなど)やユーザーがトリガーしたアクションの最初のHTTPリクエストを意味しますか? API呼び出しやカスタムリクエストと同じですか? – Dorival

答えて

1

クッキーは、リクエストが離れる瞬間にHTTPリクエストを送信します。そのため、CookieはHTTPリクエストの前にすでに設定されている必要があります。

あなたが直前にあなたの要求をクッキーを設定したい場合は、あなたが$cookiesサービス使用して行うことができます:あなたは、これらのクッキーはどこにでも$cookiesを散乱することなく透過的に設定されている場合は、今すぐ

angular.module('cookiesExample', ['ngCookies']) 
.controller('ExampleController', ['$cookies', function($cookies) { 
    // Setting a cookie 
    $cookies.put('myFavorite', 'oatmeal'); 

    // Make your HTTP Request here // 
    // $http.get('/someUrl').then(...); 
}]); 

をHTTPインターセプタを作成し、そこにそれらのクッキーを設定する必要があります。あなたはここでそれを行う方法を読むことができます:https://docs.angularjs.org/api/ng/service/ $ http(インターセプターを探してください)。

基本的にはファクトリであるインターセプタを作成したら、のように$httpProvider.interceptors.push('myHttpInterceptor');のステージに接続できます。 AngularJS Frameworkによって行われた呼び出しでも、このCookieが受信されます。

これがあなたの望みでない場合は、ここでコメントしてください。私はそれを更新しようとします。

関連する問題