2017-07-25 4 views
1

こんにちは私はAngularjs Webアプリケーションを開発中です。私はAPIを使ってデータを取得しています。ログインが成功すると、私はクッキー(応答ヘッダー)でいくつかのデータを取得します。非常に次の後続のhttp呼び出しでは、私はapiにそのバッククッキーデータを送信する必要があります。以下はレスポンスヘッダのスナップショットです。angularjsの各リクエストヘッダーでCookieを送信するにはどうすればよいですか?

Response header with cookie

以下は私のサンプルの$ HTTP呼び出しです。

var req = { 
       method: 'POST', 
       url: savepersonaldetailsurl, 
       headers: { 
       RequestedPlatform: "Web", 
       RequestedLanguage: cookiePreferredLanguage 
       }, 
    data:  { 
      LoginId: LoginID 
      } 
    $http(req).then(function (response) { 
    //do something here 
    }, function (error) { 
    toastr.error($filter('translate')('Error Occured')); 
    }); 

各httpコールで、ヘッダーにcookieを送信します。これがangularjsでどのように行われるのか分かりますか?どんな助けもありがとう。ありがとうございました。

+0

各呼び出しごとにサーバーによって送受信されるCookieは、クライアントサイドコードで処理するのがなぜですか? –

+4

これはどうしても起こらないはずですか? Afaikの場合、ブラウザーは後で同じドメインへのリクエストに有効なCookieを追加します。 –

+0

Chris Gさん、ありがとうございました。手動でクッキーを手動で添付する必要はありませんか? –

答えて

1

クッキーの特徴の1つは、各リクエストでサーバーに送信されることです。要求が行われているドメインが、そのドメインまたはサブドメインを設定しているのと同じドメインであることを確認します。

クッキーは、通常ブラウザによって格納され、その後、クッキーは、クッキーHTTPヘッダ 内部同じサーバへのリクエストで送信 である - https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies

+0

@NiranjanGodboleがこれを手伝ってくれましたか? – jeanfrg

1

まずストアから来る値をlocalstorageの応答を返します。次に、値をlocalstorageに設定して値を取得し、すべての要求でその関数を呼び出す共通のグローバル関数を作成できます。

例えば: - この例では

headers: { 
    'Content-Type': 'application/json', 
    'Authorization': authfunction.getToken('AuthToken'); 
} 

私が持つAuthTokenという名前のローカルストレージに、我々は取得し、それを設定し、それを通過する間に値を設定します。

+0

Jaiminありがとうございます。回答からクッキーを読むにはどうすればよいですか?それを読むための関数はありますか? –

+0

私は以下のように試してみましたが、私は未定義のイベントを取得していますが、私は応答してクッキーを見ることができます。 var cookievalue = $ cookies.get( 'CookieHeaders'); console.log(cookievalue); –

関連する問題